============================ R E L E A S E N O T E S ============================ Broadcom NetXtreme Gigabit Ethernet Driver For Windows Vista (Longhorn) 32/64 bit versions Copyright ? 2005-2022 Broadcom. All Rights Reserved. The term ?Broadcom? refers to Broadcom Inc. and/or its subsidiaries. Version 221.0.5.0 October 14, 2022 ---------------------------------------- Fixes: ============= 1. Request: DCSG01339890: Device ID Correction for OEM Device Change: Update Device Id Impact: None 2. Request: DCSG01338124: Add 4-part IDs for OEM Device Change: Add 4-part IDs for OEM Device Impact: None Version 221.0.5.0A September 05, 2022 ---------------------------------------- Fixes: ============= 1. Request: DCSG01295358: New board request: NX1 Change: Add support for new OEM boards Impact: None Version 221.0.5.0 August 09, 2022 ---------------------------------------- Fixes: ============= 1. Request: DCSG01288535: Update Driver Copyright Information Change: Update Driver Copyright Information. Impact: None 2. Request: DCSG01272399: Some OEM new design systems will BSOD During S3/S4 Long Run Test with 5719 Change: Fixed driver to properly halt the embedded CPU when going into D3 mode to prevent race conditions where host and the embedded CPU accessing some protected hardware resources simultaneously which is triggering malformed TLPs at PCIe level. Impact: None 3. Request: DCSG01261716: Add 4 part ID for LOM system Change: Add OEM Device Ids for LOM systems Impact: None Version 221.0.4.0 May 04, 2022 ---------------------------------------- Enhancements: ============= 1. Request: DCSG01120221: NDISTest 6.5 OffloadMisc OffloadChecksum OffloadLSO tests failing on Win2019 . Change: Fixed a existing bug exposed by addressing DCSG01108452. Impact: None 2. Request: DCSG01198769: Broadcom 5719 4-Port Performance Issue at 10 Mb/S link rate Change: Not all combinations of speed modes are supported when running back to back. For back to back configurations it is recommended to use Auto-Negotiate. Impact: None Version 221.0.3.0 Dec 30, 2021 ---------------------------------------- Enhancements: ============= 1. Request: DCSG01108452: NicStrictPropertyValidation test failing on Win2022. Change: Enhanced driver to report NDIS API version matching kernel version. Impact: None Version 221.0.2.0 Dec 06, 2021 ---------------------------------------- Enhancements: ============= 1. Request: DCSG01083681: Add /ZH:SHA_256 compiler option to NX1 build environment Change: Add /ZH:SHA_256 compiler option to NX1 build environment Impact: None Version 221.0.1.0C Oct 25, 2021 ---------------------------------------- Enhancements: ============= 1. Request: DCSG01062349: Move the PCI-ID from Generic Broadcom INF to OEM INF Change: Moved PCI-IDs to OEM specific INF Impact: None Version 221.0.1.0B Oct 20, 2021 ---------------------------------------- Enhancements: ============= 1. Request: DCSG01062352 : Add 4 part ID for LOM system Change: Update OEM SSID for LOM systems Impact: None Version 221.0.1.0A Oct 18, 2021 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-55619 : Implement workaround for HLK 2022 LSO test bug Change: Change the driver to understand version 6 of NDIS_OFFLOAD and version 5 of NDIS_OFFLOAD_PARAMETERS to zero out USO portion of the structs that the test may access erroneously. Impact: None 2. Request: DCSG01054706 : Fix 65 code analysis warnings Change: Fix various warnings that were detected while building with code analysis enabled. Impact: None 3. Request: DCSG01062296 : Add Retpoline Compiler and Linker flags to NX1 Change: Add retpoline mitigation compiler and linker flags Impact: This driver is compiled with retpoline mitigations to reduce speculative execution by malware. Windows systems with build numbers below 17763 must be updated to at least the Sept-2018 Windows Update package to avoid a known blue screen issue documented by Microsoft. Version 219.0.1.0B Aug 16, 2021 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-55208 : NDIS driver discrepancy in OEM released CD. Change: Update driver version and port NICStrictPropertyValidation changes. Impact: Restore new INF defaults in driver property page if any automation / WHQL test requires it to be non-default. Version 219.0.1.0A Aug 06, 2021 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-54957 : WHQL: NICStrictPropertyValidation test fail. Change: Updated type, default values for the INF registry keys. Impact: Restore new INF defaults in driver property page if any automation / WHQL test requires it to be non-default. 2. Request: CTRL-54993 : WHQL: Standardized keyword test fail. Change: Remove Copper Only from *SpeedDuplex ParamDesc. Impact: None 3. Request: CTRL-55081 : WHQL: Hardware-enforced Stack Protection Compatibility test failure Change: Add the /CETCOMPAT option under advanced linker settings Impact: None 4. Request: CTRL-55153 : NX1: WIN2022: CodeQL mustfix analysis shows some warnings Change: Replace deprecated call to ExAllocatePoolWithTag() to ExAllocatePoolZero() with POOL_NX_OPTIN defined and ExInitializeDriverRuntime() at init. Impact: None Version 214.0.0.6B Jun 23, 2021 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-54447 : Add 4-part PCI ID for OEM design. Change: Added requested PCI ID to INF file. Impact: None Version 214.0.0.6A March 08, 2021 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-52418 : Add 4-part PCI ID for OEM design. Change: Added requested PCI ID to INF file. Impact: None Version 214.0.0.6 December 16, 2020 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-50138 : Windows driver causes NMI/RSOD during OS shutdown Change: Mask all PCIe errors during OS shutdown or reboot. Impact: None Version 214.0.0.5 October 05, 2020 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-50138 : Windows driver causes NMI/RSOD during OS shutdown Change: On some specific systems in a OS reboot stess test, the PCIe space may be accessed by the driver when the device is in D3. This fix prevents such access when the device has entered D3 state. Impact: None Version 214.0.0.4 April 03, 2020 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-47295 : Powershell's OID_GEN_STATISTICS fails on WS2019 Change: On WS2019, the first query is made with inputbuffer size = 0 so that the powershell learns the buffer size to allocate and make a new query subsequently. Driver should just fill the required buffer size when the input buffer is zero. Impact: None Version 214.0.0.3A March 10, 2020 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-46590 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.3 February 11, 2020 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-45151 : System Crash while enable/disable cycle when running along with certain video driver Change: iBFT table detection logic required change to map fewer pages so that driver does not run into video driver memory region. Impact: None. 2. Request: CTRL-46487 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.2 August 02, 2019 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-40846 : Please modify NX1 NDIS driver to honor nvram option #43 for specific OEM Change: Added code to check if system is on VAUX power (nvram #43) after shutdown and update the WoL link at 1G accordingly. Impact: None Version 214.0.0.1C March 19, 2019 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-36593 : Edit device friendly name for specific OEM Change: Update the inf files. Impact: None Version 214.0.0.1B November 13, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-32551 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.1A October 08, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-31465 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.1 August 14, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-30582 : Implement getting MAC address from system via ACPI Change: Added feature to execute _DSM ACPI method to obtain system MAC and program 57766 with the same address Impact: None Version 214.0.0.0D November 29, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-28746 : Microsoft Native OS Security support for Windows 10 RS4 Change: Added inf directive for Native OS Security support. Impact: None 2. Request: CTRL-32143 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.0C August 01, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-30633 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.0B May 30, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-29643 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.0A May 25, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-29262 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None 2. Request: CTRL-29657 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 214.0.0.0 April 6, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-29048 : Fix CA warning 6287 for inboxing Change: Remove the code analysis warning 6287 marked as must fix for inboxing Impact: None 2. Request: CTRL-28370 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 212.0.0.0 Feb 12, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-27951 : Upgrade Windows NX1 driver build environment to use VS2017 and SDK/WDKv10 Change: Update the build environment and necessary source files and scripts. Impact: None 2. Problem: CTRL-27794 : BSOD 0x133 observed with 5762 running S3 stress test Cause: Mutex not granted from ASIC, driver keeps waiting for long time, triggering system watchdog timer Change: Reduce the loop time for specific device, break the loop if the mutex is not granted Impact: None Version 20.8.0.0B Feb 06, 2018 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-28155 : Add 4-part IDs for OEM systems Change: Update the inf files. Impact: None Version 20.8.0.0A Oct 25, 2017 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-27075 : Add 4-part ID for OEM systems Change: Update the inf files. Impact: None Version 20.8.0.0 Sep 28, 2017 ---------------------------------------- 1. Problem: CTRL-26152 : BSOD on loading/unloading driver Cause: Memory was getting corrupted because of buffer overflow while handling ISR, when MessageId is more than maximum supported MSIX message & driver is unloading. Change: Update buffer after fixing index to avoid overflow. Impact: None Version 20.6.0.6 Sep 04, 2017 ---------------------------------------- 1. Problem: CTRL-26220 : BSOD 0xA/0x1E observed with S4 stress test Cause: During S4 stress test in OEM factory, NBL/MDL corruption is seen while processing Rx. Change: Introduce a work around to check for validity of the NBL/MDL before indication based on a registry flag for the specific OEM's 4 Part ID Impact: None Version 20.6.0.5B Aug 21, 2017 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-26370 : Add 4-part ID for OEM systems Change: Update the inf files. Impact: None Version 20.6.0.5A Aug 09, 2017 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-26242 : Add 4-part ID for OEM systems Change: Update the inf files. Impact: None Version 20.6.0.5 May 29, 2017 ---------------------------------------- 1. Problem: CTRL-25595 : Modify 5762 Max Read Request Size to work around 3rd party's issue Cause: An OEM has their south bridge MRRS limitation where they cannot have this value set to more than 2048Bytes. Request was to remove the default value of 4k and set to 2k for a specific 4 part ID. Change: On initialization, set the PCI config space offset 0xB4[14:12] to b'100 based on a specific 4 part ID. Impact: None Version 20.6.0.4 May 04, 2017 ---------------------------------------- 1. Problem: CTRL-25502 : BSOD on Windows 2016 during driver initialization Cause: When an OEM specific feature is enabled, OS is returning NULL when we execute NdisGetRoutineAddress for MmMapIoSpaceEx Change: If the MmMapIoSpaceEx system call is unavailable use the older MmMapIoSpace call. Impact: None Version 20.6.0.3 May 03, 2017 ---------------------------------------- 1. Problem: CTRL-25138 : BSOD 0xD1 during dash image on OEM's docking platform Cause: Wake Packet Detection causing the crash because RxFreePackets are still not available Change: Skip wake packet detection when RxFreePackets are not available (occurs during DASH process) Impact: None Version 20.6.0.2A Apr 21, 2017 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-25373 : Request driver with default RSS queue set to 4 for specific OEM systems. Change: Update the inf files. Impact: None Version 20.6.0.2 Mar 01, 2017 ---------------------------------------- 1. Problem: CTRL-24749 : Unable to install Windows driver on WIn2k8x32 and Win2k8x64 Cause: Win2k8 OS does not support SHA-2 signed driver Change: Separate package for Win2k8 signed with SHA-1 Impact: None Version 20.6.0.1 Feb 09, 2017 ---------------------------------------- 1. Problem: CTRL-23512 : MSI-X Allocation issue with variable CPU GroupSize Cause: While assigning MSI-X Affinity, driver assumes that all CPU GroupSizes are equal. This is not true if the number of logical processors in the server are not power of 2. Change: Make driver hanlde variable sizes of CPU Groups. Impact: None Enhancements: ============= 1. Request: CTRL-24449 : Static Tool Logo Test fails for Windows 2016 Change: Update the driver with new MS requirements for passing the static tool logo test Impact: None 2. Request: CTRL-24448 : HyperVisor Code Integrity WHQL test fails for Windows 2016 Change: Update the driver with new MS requirements for passing the hypervisor code integrity test Impact: None Version 20.6.0.0B Dec 20, 2016 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-23645 : Add 4-part ID for OEM systems Change: Update the inf files. Impact: None 2. Request: CTRL-24167 : Rebrand LOM product name per OEM customer request Change: Update the inf files. Impact: None Version 20.6.0.0A Oct 28, 2016 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-23328 : Add 4-part ID for OEM systems Change: Update the inf files. Impact: None Version 20.6.0.0 Sep 02, 2016 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-22224 : Add 4-part ID for OEM systems Change: Update the inf files. Impact: None 2. Request Update driver version to 20.6.0.0. Version 20.4.0.0 May 10, 2016 ---------------------------------------- Enhancements: ============= 1. Request Update driver version to 20.4.0.0 Version 17.4.0.1B May 06, 2016 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-22022 : Add 4-part ID for OEM systems Change: Update the inf files. Impact: None Version 17.4.0.1A Apr 25, 2016 ---------------------------------------- 1. Problem: CTRL-21978: Receive Buffers setting has double Minimum for 5718/5719 installed with 2-part ID match. Change: Delete previous Receive Buffers setting registry during driver installation. Impact: None Version 17.4.0.1 Feb 24, 2016 ---------------------------------------- 1. Problem: CTRL-21712: Connection failed after resuming from Win10 Modern Standby Cause: When system entering/resuming from sleep, OS asks driver to put device into D3/D0. Driver needs to set up phy and wait for around 2.5 secs to get the link status from phy. With Modern Standby, driver was asked to set device to D3 and D0 in very short time (around 0.1 sec) which causes driver cannot get the correct link status and indicate link status to OS correctly. Change: When system resuming from standby, driver receives the link status change interrupt from device, driver will check the link status from phy and do the link up indication correctly. Impact: None Version 17.4.0.0 Feb 03, 2016 ---------------------------------------- 1. Problem: CTRL-21513 : Server gets BOSD with code 0000001E on b57nd60a.sys Cause: Driver tried to check Rx ring producer index in the DPC, but used wrong index, the index should be from 0 to 3 (device has max 4 rss rings enabled), but 5 is used. Change: Make driver to check Ring ring produer with correct index number. Impact: None Version 17.2.0.2B Nov 19, 2015 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-20862, CTRL-21282 : Add 4-part ID for OEM systems Change: Updated the infs to add more 4-part IDs. Impact: None 2. Request: CTRL-21266 : Delete previous *ReceiveBuffers registry value during installation. Change: Make inf change as request. Impact: None Version 17.2.0.2A Nov 09, 2015 ---------------------------------------- 1. Problem: CTRL-21263 : Driver Rolling back to Inbox version on latest build Win10 OS. Cause: The date in INF "DriverVer" directive is older than inbox driver. Change: Update the date in INF "DriverVer" directive Impact: None Version 17.2.0.2 Jul 03, 2015 ---------------------------------------- 1. Problem: CTRL-20742 : System gets BSOD on WIn10 HLK ?DF - Hypervisor Code Integrity Readiness Test?. Cause: Driver was calling ExAllocatePoolWithTag() with NonPagedPool parameter. Change: Use NonPagedPoolNx parameter instead. Impact: None Version 17.2.0.1 Jun 09, 2015 ---------------------------------------- 1. Problem: CTRL-20638 : System hang observed on OEM system when booting up. Cause: Transmit path appears to hang at the first frame after power-on reset. Change: Checks the DMA length register values before initiating any transmit traffic and applies CQ59486 workaround if it detects the failure condition. Impact: None Enhancements: ============= 1. Request: CTRL-20523 : Add 4-part ID for OEM systems Change: Updated the infs to add more 4-part IDs. Impact: None 2. Request: CTRL-20540 : Driver to set VMQ default to "disabled" Change: Make inf change to set VMQ disable by default in driver advanced property. Impact: None Version 17.2.0.0 Apr 10, 2015 ---------------------------------------- 1. Problem: CTRL-20475 : Server crashed on "b57nd60a.sys" while doing continuous upgrade/downgrade of firmwares. Cause: Driver gets timeout while trying to acquire main spinlock in a timer function because the other driver thread (servicing private OID passed down from BMAPI to put driver into diag mode) doesn?t finish it task yet, the spinlock is not released yet. Change: Fwupg/BMAPI puts driver into diag mode first before passing down other commands/OIDs to program nvram. When driver is working in diag mode, the timer function should do nothing and return immediately. Impact: None 2. Problem: CTRL-20424 : 5720 doesn't work under Win2012 R2 after adding Hyper-V service without virtual switch. Cause: When OS tells driver to assign 4th RSS queue (#3) to 49th CPU (#48), driver fails with the NDIS call NdisMConfigMSIXTableEntry() because driver doesn't allocate resource for mapping to 49th CPU during initialization. Driver doesn't allocate enough interrupt resources because driver was told there are 48 RSS capable CPUs and Hyper-Threading is disabled, however there are actually 64 CPUs activated. Change: Make driver to get correct number of activated CPUs and allocate interrupt resources accordingly. Impact: None 3. Problem: CTRL-20506 : Customer is experiencing traffic stoppage using 5715 NICs on system using Win2008 x64. Cause: Driver received a tx packet from upper layer with an invalid physical address, it hits 5715 errata #23403 and cause device traffic to stop. Change: Check if the physical address is above 1TB or not, if it does, driver will copy the packet data to a pre-allocated data buffer and send it out from there. Impact: None 4. Problem: CTRL-20516 : 5720 traffic stops after transmitting large (32K) frame with DNF set. Cause: Driver receives NBL (Net Buffer List) that specifies LSO transmit information, but with MSS = 0 (Maximum Segment Size), then driver passes the packet (with 32K bytes) to device directly that make device tx doesn't work anymore. Change: Don't send the NBL with the invalid information (specifies LSO with MSS = 0). Impact: None Enhancements: ============= 1. Request: Don't put tx timestamp into the OOB structure in MiniportReserved[1] before calling the send complete handler. Change: The intermediate driver will use a private OID to get tx timestamp instead. Impact: None Version 17.0.0.4A Mar 06, 2015 ---------------------------------------- Enhancements: ============= 1. Request: CTRL-20409 : Add 4-part ID for OEM systems Change: Updated the infs to add more 4-part IDs. Impact: None Version 17.0.0.4 Feb 24, 2015 ---------------------------------------- 1. Problem: CTRL-20407 : Link not recognized on system with 64 cores. Cause: Driver was using a 32-bit parameter for getting target CPU in ISR, this makes driver code (servicing link status change interrupt in DPC) not executed correctly. Change: Use 64-bit parameter to get target CPU for DPC. Note: The issue happens with device using MSI interrupt only, not MSI-X. Enhancements: ============= 1. Request: CTRL-20401 : Add 4 part ID for OEM systems CTRL-20409 : Add 4 part ID for OEM systems CTRL-20438 : Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 17.0.0.3 Dec 17, 2014 ---------------------------------------- 1. Problem: CQ72222 - Sudden link loss Change: Adding more changes to enhance the fix. a. rest device if a device rx hang is detected. b. re-enable interrupt if interrupt is not enaled successfully. c. force an interrupt if the tag value doesn't change about 3 seconds. Impact: None. 2. Problem: CQ72222 - Sudden link loss Change: Adding change to check if rx traffic is idle and interrupt is unexpectedly disabled, then driver will force an interrupt to resume the traffic. Impact: None. Enhancements: ============= 1. Request: CQ74012 - 4 part ID update for 5720 channel board. Change: Change the SSID to 0x2009 in infs. Impact: None 2. Request: CQ74005 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: CQ73889 - Change device friendly name for 5719/5720 channel board. Change: Updated the infs. Impact: None Version 17.0.0.2 Oct 17, 2014 ---------------------------------------- 1. Problem: CQ73892 : Incorrect Network Controller Driver observed when the managed system resumes from S4. Cause: The driver id in APE host memory was overwritten by PXE, when PXE is selected as top of the boot sequence. Change: Update the driver id in APE host memory again when system resuming from S4. Impact: None Enhancements: ============= 1. Request: CQ73889, CQ73902, CQ73952 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: CQ73909 - add Rx/Tx buffer size tuning for OEM systems. Change: Add transmit/receive buffer setting registry keys for specific OEM systems. Impact: None Version 17.0.0.1 Sep 19, 2014 ---------------------------------------- 1. Problem: CQ73792 : after setting *JumboPacket registry, driver does not report expected max frame size. Change: Make device to work on correct Jumbo Packet Mode, then driver will report expected size while processing OID_GEN_MAXIMUM_FRAME_SIZE. Impact: None 2. Problem: CQ73827 : When plug in two 5722 NICs on the same system, one of the NIC is not functioning sometimes. Cause: When device generates MSI interrupt, driver?s ISR is called, driver queues two DPCs for them on two different CPUs (one for the CPU gets interrupt, another for RSS target CPU). There is a chance that driver may mess up the internal RST parameter/flag, this make driver falsely think the DPC has not been completed and then it will not enable the interrupt. This makes device can not generate interrupt for rx/tx packets anymore Change: Make driver doesn't touch RST parameters while it's not running DPC for RSS target CPU. Impact: None 3. Problem: CQ73852 : device shows link down randomly and is unable to pass traffic. Cause: There is a driver bug introduced by CQ73695 fix which makes driver doesn't handle interrupt resource assignment correctly when the total CPU number is larger than device's MSI-X vectors. Change: Add changes to correct the error. Impact: None Version 17.0.0.0 Sep 09, 2014 ---------------------------------------- 1. Problem: CQ73695 - Driver only gets one MSI interrupt with specific numproc and groupsize configuration. Cause: With special configuration, driver doesn?t set interrupt message affinity correctly. Change: Add code change to make driver handle the special configuration properly. Impact: None. 2. Problem: CQ73739 - OEM System: 30% performance reduction found with Jumbo 4088 Bytes testing. Cause: The current driver indicates one packet at a time to OS and inserts Receive Buffer Descriptors to device one by one when Jumbo Packet is enabled. With specific system, when CPU is not power enough, CPU is exhausted (getting 100% usage) during the test. Change: Driver to indicate multiple packets and inserts multiple RBDs to device at a time. Impact: None. 3. Problem: CQ73756 - port 1 get disconnected status on Server2008 x86. Cause: Device doesn't generate interrupt because MSI enabled bit was not eanbled. Change: For 5715, the GRC reset will reset MSI enable bit as well, so driver needs to restore it. Make driver to save/restore the MSI capability registers correctly in a x86 system. Impact: None. 4. Problem: CQ73764 - System gets BSOD while running BACS Diagnostics stress on 5719. Cause: Driver was making two continuous spin lock acquisitions. One comes from UM_QueryInformation(), when BACS passes T3_OID_DIAG_SUSPEND to driver, the other one comes from UM_CheckForHang(). Change: Make driver not to acquire spin lock in UM_CheckForHang while driver is running in diagnostic mode. Impact: None. 5. Problem: CQ73829 - Traffic stopped when setting Receive Buffer size to Minimum and flow control to Rx enable Cause: The minimum number of "Receive Buffers" was set to smaller than rx replenish threshold, there is a chance that driver may not be able to insert RBDs to device anymore. Change: Modify minimum value of "Receive Buffers" from 16 to 64. Impact: None. Enhancements: ============= 1. Request Update Product_Version String to 19.0.0 for OEM systems. Change: Change the product version as required. Impact: None 2. Request: Change the Copyright information to include 2015 for all SW modules Change: Change the Copyright information to include 2015 in related files. Version 16.8.0.3 Jul 22, 2014 ---------------------------------------- 1. Problem: CQ72222 - Sudden link loss Change: Implement a workaround to detect and report TX hang state of the NIC in MiniportCheckForHang() routine, then NDIS will call driver's MiniportReset() function to reset device and bring device back to work. Impact: None. Enhancements: ============= 1. Request: CQ73634 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 16.8.0.2 Jul 08, 2014 ---------------------------------------- 1. Problem: CQ73642 - 5720/5719 BACSDiag test Interrupt with b57vista 16.8.0.1. Cause: With hardware MSI-X fix driver enabled in v16.8.0.1, device doesn't generate interrupt when driver asserts software interrupt. Change: Disable hardware MSI-X fix before making interrupt test. Impact: Issues happens with 5719 and 5720 only. Version 16.8.0.1 Jun 19, 2014 ---------------------------------------- 1. Problem: CQ63915 - WHCK:Test machine rebooted unexpectedly on PCI Root Port Surprise Remove Test (PCI device only) Change: Change the workaround to disable WDMA instead of doing GRC reset. Impact: None 2. Problem: CQ73587 - VMQReceiveQueueStateChecking test failed on "breakpoints were hit in the protocol driver while this test was executing" Change: Add a workaround to disable default queue temporarily. Impact: None Enhancements: ============= 1. Request: Update the nvram write pagesize for Macronix parts to 4KB. 2. Request: Enable hardware MSI-X fix for 5719 and 5720. Version 16.8.0.0 May 16, 2014 ---------------------------------------- 1. Problem: CQ73383 - Miniport must clean up tx packets in MiniportShutdownEx(). Change: Complete tx packets with NDIS_STATUS_SEND_ABORTED after driver disabling device state machine in MiniportShutdownEx(). Impact: None Enhancements: ============= 1. Request: CQ72934 - Add 4 part ID back for OEM systems in release 16.8 Change: Updated the infs. Impact: None Version 16.6.0.4B May 02, 2014 ---------------------------------------- Enhancements: ============= 1. Request: CQ72934 - remove OEM specific PCI ID's from the 16.6 driver Change: Updated the infs. Impact: None Version 16.6.0.4A Apr 24, 2014 ---------------------------------------- 1. Problem: CQ73401 - 5720 NIC: driver and BACS updates resets MTU and offload settings Change: Make inf changes to keep the original setting during driver upgrade. Note: The following registry settings are affected: *EEE, *FlowControl, *JumboPacket, *LsoV2IPv4, *LsoV2IPv6, *NumRssQueues, *WakeOnMagicPacket, *WakeOnPattern, WireSpeed, WolSpeed 2. Problem: CQ73344 - OEM adapter cannot change Rx/Tx buffers under W2K8R2. Cause: Driver doesn't enable transmit/receive buffer settings for specific OEM adapters. Change: Add transmit/receive buffer setting registry keys for specific OEM adapters. Impact: None Version 16.6.0.4 Apr 07, 2014 ---------------------------------------- Enhancements: ============= 1. Request: CQ73251,CQ73274,CQ73288 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: CQ73287 - Add driver heartbeats support to APE. Change: Send out heartbeat to APE in specified interval. Note: None Version 16.6.0.3 Mar 18, 2014 ---------------------------------------- Enhancements: ============= 1. Request: CQ72934 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: CQ73232 - OEM Request for SMI Handler Call in Windows Change: Before driver accessing device in crash dump handler, invokes system BIOS SMI handler with specific operations which allows OEM BIOS to interrogate the state of the controller first. Impact: None Version 16.6.0.2 Mar 12, 2014 ---------------------------------------- 1. Problem: CQ73199 - WHCK: WOL_Pattern test fail on "Send and wake test with matching wake packet failed" Cause: Changes in the previous release for CQ73082 caused this issue. Change: Disabled code that changes the port mode to GMII. Impact: None Enhancements: ============= 1. Request: CQ67634 - Add *RssBaseProcNumber entries to Windows Device Advanced Properties Change: Add configuration for *RssBaseProcNumber registry for specific OEM systems. Version 16.6.0.1 Feb 27, 2014 ---------------------------------------- 1. Problem: CQ73082 - 5762 fails to wake up by magic packet with a certain OS configuration steps. Cause: This issue occurs when the OS does not pass down the WoL patterns, the firmware will flag it as OS is absent. The OS absent mode will cause the firmware to take a code path that will set the port mode to be GMII instead of MII. Magic packet detection will not work if the port mode is in GMII. Change: Do not flag the mode as OS absent when there are no WoL patterns. Impact: None Enhancements: ============= 1. Request: Enable capability (register dump in the crash dump file) for specific devices only. Version 16.6.0.0 Jan 23, 2014 ---------------------------------------- Enhancements: ============= 1. Request: Change the Copyright information to include 2014 for all SW modules Change: Change the Copyright information to include 2014 in related files. 2. Request: CQ72438 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 16.4.0.2A Jan 07, 2014 ---------------------------------------- 1. Request: CQ72333 - WHCK: Standardizedkeywords test fails - "NDI\Params\*FlowControl\Default" is not "4" as expected! Change: Change the default value of registry key *FlowControl to 4 (Auto Negotiation) as request. Impact: None Version 16.4.0.2 Dec 19, 2013 ---------------------------------------- 1. Request: CQ72112 - 5720 Serdes: remove "EEE Control Policies" from driver advanced properties. Cause: The unnecessary registry (installed by inbox driver with 2 part ID) is not removed during driver upgrade. Change: Remove unnecessary registry key during driver upgrade. Impact: None Enhancements: ============= 1. Request: CQ71955,CQ72192 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: CQ72193 - Add "Auto Negotiation" item in driver's Flow Control setting Change: Make change in inf files to add "Auto Negotiation" item back in *FlowControl registry. Impact: None. Version 16.4.0.1A Nov 05, 2013 ---------------------------------------- Enhancements: ============= 1. Request CQ71670 - Update Product_Version String to 18.4.0 for OEM systems. Change: Change the product version as required. Impact: None 2. Request: CQ71258 - set the friendly name to "Broadcom NetXtreme Gigabit Ethernet Plus" for OEM system. Change: Make inf change as request. Impact: None Version 16.4.0.1 Oct 16, 2013 ---------------------------------------- 1. Problem: CQ71401 - Put system into and resum from S3/S4, then do an ungraceful Master Bus Reset will make DASH firmware doesn't work on OS absent anymore. Cause: This issue is the same as CQ69353. Change: Clear Fast Boot PC register for pre-57760/57780 devices. Impact: None. Enhancements: ============= 1. Request: CQ71258 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: CQ71388 - Modify driver to honor new control bit to disable Autoneg @ 1G Half Duplex advertisement Change: Make driver to read the setting from shared memory and configure GPHY accordingly. Impact: None Version 16.4.0.0 Oct 03, 2013 ---------------------------------------- 1. Problem: CQ69498 - traffic stop observed with network stress test with jumbo MTU=9000 Cause: Driver allocates RBD(receive buffer descriptor) more than device's receive return ring size (configured by driver). Under heavy traffic(mix of small and jumbo packets), driver will be busy processing small packets and the speed of driver servicing rx packet may not be fast enough, there is a chance that "receive return ring producer index" will exceed or equal to "receive return consumer index". When "receive return producer index" = "receiver return consumer index", driver thinks it has completed servicing all incoming rx packets, but actually ring is full and there are packets waiting for driver to process. Change: Configure the size of Receive Return Ring larger than the number of allocated RBDs. Impact: None. Enhancements: ============= 1. Request: Use custom DPC to improve the latency for EAV traffic send completion. Note: The implement is enabled only for specific OEM system. 2. Request: Enable CQ54559 workaround for 5725/5727/57767 family devices. Note: None. Version 16.2.0.5 Aug 19, 2013 ---------------------------------------- 1. Problem: CQ70595 - 5762: Unable to acquire DHCP offer on OEM platform if connected at 10/100mbps Change: Force device core clock to run at full speed (62.5MHz) when link is 10/100. Impact: None. Version 16.2.0.4B Aug 19, 2013 ---------------------------------------- Enhancements: ============= 1. Request: CQ69775 - Add 4 part ID for OEM systems Change: Remove Copper related configurations and add WOL support in driver advanced property. Impact: None Version 16.2.0.4A Aug 13, 2013 ---------------------------------------- Enhancements: ============= 1. Request CQ70481 - Update Product_Version String to 18.2.0 for OEM systems. Change: Change the product version as required. Impact: None 2. Request: CQ69775 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 16.2.0.4 Aug 06, 2013 ---------------------------------------- 1. Problem: CQ70333 - BACS Diag "Interrupt" test failed with driver after v16.2.0.2(included). Cause: It's introduced by the driver change (enabling MSI/MSI-X fix) for CQ69565. Change: Restore the change and use another solution for CQ69565. Impact: None. 2. Problem: CQ70324 - BSOD (0x7c) happens while running 5719 four ports load-unload stress test with driver verifier enabled. Cause: The timer for link detection function is fired after driver is halted. Change: Do not start timer for link detection while driver is going to halt. Impact: None. 3. Problem: CQ69565 - OEM System: Running driver load/unload stress with multiple NICs (20 ports in total) causes system BSOD (0x7E). Cause: Driver was accessing memory with NULL address pointer. Change: Check the address before using the porinter to access the member inside the structure. Impact: None. Version 16.2.0.3 Jul 26, 2013 ---------------------------------------- 1. Problem: CQ70271 - WHCK (Win8.1): system gets BSOD with bugcheck 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) during PM_WolMagicPacket test. Cause: Driver doesn't follow NdisOidComplete rule to return requested NTSTATUS values while handling OID_PM_REMOVE_WOL_PATTERN. Change: Return NDIS_STATUS_SUCCESS when wol pattern is not found. Impact: None. Version 16.2.0.2 Jul 24, 2013 ---------------------------------------- 1. Problem: CQ70116 - 5725 IPMI "Get Self Test Result" failed during power cycle test. Cause: Driver was not using correct offset for releasing APE Mutex, it makes firmware get timeout for obtaining Mutex. Change: Use correct offset for releasing APE Mutex for 5762/5725/5727/57767 family devices. Impact: None 2. Problem: CQ69565 - OEM System: Running driver load/unload stress with multiple NICs (20 ports in total) causes system BSOD. Cause: Driver doesn't get most updated index from status block, it causes driver to free incorrect rx buffer which it should not. Change: Enable device msi/msi-x fix before forcing device to do a status block update. Impact: None Enhancements: ============= 1. Request: CQ70253 - Enable LargeSizeRxRing for specific OEM systems. Change: Make inf change to enable LargeSizeRxRing for the OEM system. Impact: None 2. Request: Include APE Info related data in the memory dump. Change: When system crashes, driver will collect related APE Info (APE shared memory, APE Control register, GRC register, Management Filter register, Scratch Pad..) into memory dump. Note: There is a kernel extension which can save the data in the a binary for bmimgdbg.exe to analyze. Version 16.2.0.1 Jul 05, 2013 ---------------------------------------- 1. Problem: CQ69875 - When device gets single MSI-X vector assignment from OS, 5719/5720 can't send/receive packets normally. Cause: OS has resource assignment problem with some NICs, OS sets device?s MSI-X table entry with *SAME* address and message data for all 17 vectors, however OS tells driver that it has 17 MSI-X interrupt resources to use in MiniportFilterResourceRequirementsHandler(), this makes driver run the code path for multi-vector msi-x mode and it?s causing problem. Change: Check the MSI-X table entry during initialization, if there is duplicated, driver falls back to single-vector RSS mode. Impact: None 2. Problem: 57762: system gets BSOD when driver is loaded. Cause: The CQ69875 workaround is using BAR4 and BAR5 for checking MSI-X table, which are invalid for 57762. Change: Limit CQ69875 workaround for APE capable devices only. Impact: None 3. Problem: CQ69979 - Logan-5762b0-Failed to wake up system from s3/s4 state when PM Offload is off Change: Make driver to pass WOL patterns to DASH firmware when PM Offload is off. Impact: None Enhancements: ============= 1. Request: Restore the capability for complete register dump in the crash dump file (CQ55733 implemented in v15.0.0.12) Change: Change the driver build property file (sources.props) to restore the capability. Impact: None Version 16.2.0.0 Jun 20, 2013 ---------------------------------------- Enhancements: ============= 1. Request: Sync up version number for release 16.2 Version 16.0.0.17A Jun 18, 2013 ---------------------------------------- Enhancements: ============= 1. Request: CQ69278 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: Change Device Friendly Name for OEM system. Version 16.0.0.17 Jun 07, 2013 ---------------------------------------- 1. Problem: CQ69166 - 5719 serdes: other ports get link drop while enable driver in port_0. Change: Don't force LED into OFF state (bit_3 of the PHY Extended Control Register) when driver is unloaded. Impact: None 2. Problem: CQ69047- 5762: Running Chariot UDP test with dash enabled, seeing the Tx increments and the Rx doesn't increment. Cause: Fragmented UDP packet is incorrectly treated as RMCP packet, device forwards the packet to APE, not DMA to host. Change: Enable IPv4 Fragment Fix in MAC Rx Mode register (bit_25 of reg 0x468). Impact: None 3. Problem: CQ69353 - OEM System: The system ran into BSOD after system resume from S4 state. Cause: Issue introduced from last release of PM Offload firmware that included support for PME Suppression. The Fast Boot PC register was not being cleared. This caused the bootcode not to run after the system wake-up. Change: Clear the Fast Boot PC register. Impact: None Version 16.0.0.16 May 14, 2013 ---------------------------------------- 1. Problem: CQ68928 - OEM reports when one port of 5719 goes down, all the other ports go down. Cause: The serdes ties port0 to the PLL, when we power down the port0, the PLL goes down with it, and so does all the other ports. Change: Apply CQ52060 workaround on 5719 - not setting port0 to low power mode when it is disabled. Impact: None Enhancements: ============= 1. Request: Include the MAC header size for the jumbo frame registry key "*JumboPacket" for OEM systems. Change: Create different Jumbo Frame setting/mode for OEM systems. Impact: None. Version 16.0.0.15A May 09, 2013 ---------------------------------------- Enhancements: ============= 1. Request: CQ69073 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 16.0.0.15 Apr 24, 2013 ---------------------------------------- 1. Problem: CQ66635 - 5725: SUT hangs when run CC32*3 + nblast *3 with CLK+ASPM enabled. Cause: While processing LSO fragments close to 4G boundary, device is fetching data with incorrect address. Change: When driver detects the failing condition, driver will coalesce the entire LSO fragments into a single continuous fragment. Impact: None Enhancements: ============= 1. Request: CQ68684 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: Update PM Offload firmware to version 1.25 Change: Support for PME suppression. Impact: None Version 16.0.0.14 Apr 08, 2013 ---------------------------------------- 1. Problem: CQ68512 - 5717 is non-functional when a single MSI vector is forced. Cause: RSS is enable. Change: Disable RSS when a single MSI vector is forced. Impact: None Enhancements: ============= 1. Request: CQ68297,CQ68456 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 16.0.0.13 Mar 22, 2013 ---------------------------------------- 1. Problem: CQ67903 - 57786A1 system - intermittent Ethenet link down on exit from S3 or S4 to S0 Cause: IO conflicting with OTP patch. Change: Move the OTP patch download to end of reset routine. Note: None. 2. Problem: CQ68362 - 5725 B0 : Unable to wake up system from S3/S4 state with TCP SYN and NetBIOS Query when mgmt fw(NCSI/SMASH) is enabled in nvram. Change: Make driver to passes WOL patterns to PM Offload firmware instead NCSI/SMASH. Note: None. 3. Problem: CQ68387 - 5725_B0 (Runtime D3) : Failed to wake up system from S3/S4 state when cable is inserted into the AUT. Cause: During system entering S3/S4, driver halts Rx CPU when Interesting Packet WOL is enabled. Change: Make driver not to halt Rx CPU so bootcode can setup Runtime D3 configuration successfully. Note: None. 4. Problem: CQ68390 - 5725_B0: EEE is not working when Link Flap Avoidance(LFA) disabled. Cause: The change for CQ68191 causes EEE mode register is not set correctly. Change: Configure device EEE mode register with correct value. Note: None. Enhancements: ============= 1. Request: CQ68356,CQ68358 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None 2. Request: Make device not to send out PM_PME message after asserting #WAKE signal Change: Update PM Offload firmware to configure device accordingly. Impact: None Version 16.0.0.12 Mar 15, 2013 ---------------------------------------- 1. Problem: MSFT Bug #126053 - NDISTest 6.5 KeepAlive: Number of NS Offloads successfully added is 2, which is less than what the adapter reports in the pm capabilities as 4. Change: Report correct number of NS Offloads in pm capabilities. 2. Problem: CQ67599 - Remote graceful power control requests will take effect in 15 to 25 seconds. Cause: The WMI event for 5762 is not sent. Change: Send the WMI event for 5762 Impact: None 3. Problem: CQ68191 - 5725 : With LFA is enabled, the EEE status is still off when cable is unplugged/plugged. Change: Driver needs to reset and configure GPHY to bring device's EEE back to work. Note: Issue happens with LFA (Link Flap Avoidance) enabled only. 4. Problem: CQ68144 - 5725_B0-LFA: WOL S3/S4 not working, but tried to disable either NCSI or LFA (SECFG #42 & #43 ), then issue is gone. Cause: With special configuration (no NCSI but enabling the management firmware bit), it triggers a driver bug that will set the port mode to TBII. Driver reads mac mode register back (bit_3 is set for GMII) and driver incorrectly "or" the value with bit_2 (MII), then it becomes TBI mode. Change: Clear port bits before setting MAC port mode to MII or GMII. Impact: None. Enhancements: ============= 1. Request: CQ68027 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 16.0.0.11 Feb 22, 2013 ---------------------------------------- 1. Problem: Device is unable to transmit AVB packet after system resuming from standby/Hibernation or rebooting with Win8 fastboot enabled. Cause: The packet has two fragments, driver incorrectly set the "Launch Marker Field valid" bit in the 2nd Send Buffer Descriptor(SBD) and the SBD has obsolete Launch Marker Field without updated. Change: Driver should set "Launch Tim Marker Valid" bit only on the first SBD of a SBD chain. Note: The change is for AVB capable device only. Version 16.0.0.10 Feb 18, 2013 ---------------------------------------- 1. Problem: CQ67488 - 5717_B0: The LEDs do not light up as expected on Port1 when system enter to S3/S4 power state. Change: PM Offload Firmware version 1.24 fixes the issue. Impact: None 2. Problem: MSFT Bug #36267 - drivers calls KeGetCurrentIrql DDI in a callback that accepts Flags parameter. Change: Driver doesn't need to check IRQL (using KeGetCurrentIrql()) since the ReturnFlags parameter in UM_ReturnNetBufferList() has already indicated it's DISPATCH_LEVEL or not. Impact: None. 3. Problem: CQ66867 - [NCU+BCM NX1] Upgrading NCU without dissolving a team will get disabled status Change: Set *LsoV1IPv4 when *LsoV2IPv4 is set for the OEM devices. Impact: None. Enhancements: ============= 1. Request CQ67526 - Update Product_Version String to 17.8.0 for OEM systems. Change: Change the product version as required. Impact: None 2. Request Driver to put the transmit timestamp into the OOB structure before calling the send complete handler. Note: The change is for AVB capable device only. Version 16.0.0.9 Jan 24, 2013 ---------------------------------------- 1. Problem: CQ67361 - Winfwupg v7.4.5 Failed to restart adapter & failed to run BACS diag and cablediag. Cause: The driver is not passing the BMAPI events to the APE. Change: Change the driver to relay all events to the APE. Note: None. Version 16.0.0.8 Jan 23, 2013 ---------------------------------------- 1. Problem: CQ67428 - Rel15.6a:WHCK:NDISTest 6.0 1c_FaultHandling test BSOD on latest ndis driver Cause: The device context may not be created when initialization failure. Change: Check surprised-removed flag only when initialization success. Note: None. Version 16.0.0.7 Jan 16, 2013 ---------------------------------------- Enhancements: ============= 1. Request: The driver is to inhibit further IO accesses after detecting that a Thunderbolt device was surprised-removed. Change: Changed as requested. Note: None. Version 16.0.0.6 Jan 15, 2013 ---------------------------------------- 1. Problem: CQ67123 - WinFwUpg shows error version after upgrading NCSI. Cause: There is a code error that makes driver can't get the correct nvram type for programming. Change: Correct the error in driver code. Note: None. 2. Problem: CQ66991 - Jumbo fram traffic causes CRC error frame. Cause: "Extended packet length" bit_14 of PHY register 0x18 shadow 000 was not set. Change: Make code change to enable the bit for Jumbo frame capable devices. Note: None. Enhancements: ============= 1. Request: Change the Copyright information to include 2013 for all SW modules Change: Change the Copyright information to include 2013 in related files. Version 16.0.0.5 Dec 24, 2012 ---------------------------------------- 1. Problem: CQ66997 - System halts (driver verifier detects IRQL violation) after unplugging dongle during the chariot traffic. Cause: Driver doesn't complete the pending tx packets correctly. Change: Make driver to compelte tx packets at the correct IRQL. Note: None. 2. Problem: CQ67013 - b57driver: Enable VMQ without BelowTenGigVmqEnabled registry key set will get low throughput. Cause: MSIX vector #1 interrupt is not enabled for tx default q when TSS is enabled. Change: Enable MSIX vector #1 interrupt on TSS/VMQ mode. Note: None. Version 16.0.0.4 Dec 17, 2012 ---------------------------------------- 1. Problem: CQ65738 - 5725 A0 : Unable to wake up system from S3/S4 state with Interest Packet when NCSI is enabled. Cause: Driver doesn't write wake up patterns into shared memory for PM offload firmware. Change: Make driver to pass wake up patterns to PM offload firmware when NCSI is enabled. Note: None. 2. Problem: CQ66595 - 5751 CPU starvation issues Cause: Same root cause of CQ60805. Change: Apply the workaround of CQ60805 to 5751. Impact: Tx packets are dropped when max tx queue lenght is reached. 3. Problem: CQ66966 - BSOD (DPC_WATCHDOG_VIOLATION) occurs after unplug 57762 thunderbolt dongle during shutdown. Cause: Afer device is removed, the memory read returns the value (0xFFFFFFFF) makes driver fall into an endless loop. Change: Break out the loop when the memory read returns 0xFFFFFFFF. Impact: None. Enhancements: ============= 1. Request CQ66560 - Please add changes to K57/B57 driver to support IOAC v1.09 Change: Support IOAC v1.09 in the drivers. Impact: None. 2. Request CQ66954 - Enable EEE for 5717 B0 Change: Make inf change for user to configure EEE related setting in driver advanced property. Impact: None. Version 16.0.0.3 Nov 21, 2012 ---------------------------------------- 1. Problem: CQ66506 - TRAFFIC LED blinking is invisible in Link/Activity LED mode Change: Set the blink rate to max period in LED Control Register. Note: None. 2. Problem: CQ66600 - NDIS: Wrong information on PCIE lanes when looking from Bus Type of BACS. Cause: Driver doesn't report correct PCIE link width to BMAPI/BACS. Change: Get the correct link width from PCIE Link Status Control Register and report to BMAPI/BACS accordingly. Note: None. Enhancements: ============= 1. Request CQ66521 - Add OEM device into Windows INF. Change: Modify the inf files as request. Impact: None Version 16.0.0.2A Nov 13, 2012 ---------------------------------------- Enhancements: ============= 1. Request: Restore inf file change in v16.0.0.1 to remove support for k57 family devices. Version 16.0.0.2 Nov 12, 2012 ---------------------------------------- 1. Problem: CQ66429 - System gets BSOD while running 1c_NdisRequestCov test CQ66431 - System gets BSOD while running 1c_IOCTLCoverage test Cause: While testing EAV private OID, the buffer passed to driver has a NULL address with zero length, this makes driver use invalid memory address to access the buffer. Change: Check the buffer address/length and return failure status if it's invalid. Note: None. Version 16.0.0.1 Nov 07, 2012 ---------------------------------------- 1. Problem: CQ66267 - NXI:WHCK:BCM5717C0 failed on VlanSendRecv test Cause: The test enables VMQ related registry keys that makes driver incorrectly execte VMQ code path for 5717C0 which it shouldn't. Change: Ignore VMQ registry keys for 5717C0. Note: None. Enhancements: ============= 1. Request: Enable AVB support for specific OEM system with 57762. Impact: None. 2. Request: Add support for k57 family devices (5784/5785/57780/57788/57790/57781/57785/57791/57795/57782/57786) Change: Merge k57vista inf into b57vista inf files. Note: All devices in k57vista (v15.6.0.2A) are supported in b57vista inf files. Version 16.0.0.0 Oct 30, 2012 ---------------------------------------- 1. Problem: CQ66229 - BSOD (0x19) is occurred when attempting to load b57vista 15.6.0.4 on 5717C0 (14e4/1665). Cause: 5717C0 with new Device ID is missing the support in MiniportFilterResourceRequirements() function. Change: Make code change to add the support for 5717C0 with new Device ID. Note: None. Enhancements: ============= 1. Request Adding support for 5725/5727/5762/57764/57767/57787 family devices. Impact: None. 2. Request Support BCM5717C0 new PCI device ID. Impact: None. Version 15.6.0.3A Oct 25, 2012 ---------------------------------------- 1. Problem: CQ66182 - NX1 does not have Port1FunctionNumber entries in INF for CDN Cause: A Port1FunctionNumber is not added in for the oem inf files. Change: Add Port1FunctionNumber in the oem inf files for multiport network adapters. Enhancements: ============= 1. Request CQ66040 - Update Product_Version String to 17.6.0 for OEM systems. Change: Change the product version as required. Impact: None. Version 15.6.0.3 Oct 15, 2012 ---------------------------------------- 1. Problem: KeepAlive packet of IOAC doesn't have source mac address. Cause: KeepAlive packet from IOAC doesn't always contain source mac address. Change: Source mac address is inserted to the packet by the driver for this case. Note: None. 2. Problem: CQ62065 - HC2 becomes unwritable when tuning fails to complete with certain cards Change: Add the workaround for HC2. Note: None. Enhancements: ============= 1. Request CQ65897 - Disable CQ35234 WAR for specific OEM platform. Change: Make inf change to disable CQ35234 workaround for specific OEM systems. Impact: None 2. Request: CQ65914 - Please add support in firmware to support new APIs in IOAC spec v1.0.7x Impact: None. 3. Request: CQ65970 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 15.6.0.2 Oct 05, 2012 ---------------------------------------- 1. Problem: CQ65127 - NX1 NICs are not posting OCBB data Cause: Driver doesn't have the OCBB/OCSD support for 5717/5718 B0. Change: Adding OCBB/OCSD support for 5717/5718 B0. Note: None. Version 15.6.0.1 Sep 28, 2012 ---------------------------------------- 1. Problem: CQ65614 - WHCK:2c_Mini6RssSendRecv (with multigroup enabled + RSS queue = 2 or 4) failed Cause: Driver was assuming all CPU affinity of RSS queues are assigned to the same group. Change: Make CPU affinity of RSS queues work with individual group number. Note: None. Enhancements: ============= 1. Request: CQ65456 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 15.6.0.0 Sep 05, 2012 ---------------------------------------- 1. Problem: CQ65416 - Please update HUT Revision to C0 for 5717. Cause: Driver was reporting incorrect chip revision to BACS/BMAPI. Change: Report correct chip revision while handling the OID (T3_OID_GET_DRIVER_INFO). Note: None. 2. Problem: CQ65402 - One customer reports BSOD after system resumes from S4. Cause: AC Power removing causes memory location for wake packet pattern index uninitialized. Change: Validate the index before using it to get wake packet. Note: None. Enhancements: ============= 1. Request: Adding support for 5717 C0 Change: Modify code to add support for 5717 C0. Impact: None. Version 15.4.0.16 Aug 27, 2012 ---------------------------------------- 1. Problem: CQ65333 - 57766: System can wake up in S5 state when I disable WOL bit in the NVRAM with Winfwupg Utility. Cause: Driver internal flag (for NVRAM WOL bit) is incorrect before system entering S5. Change: Make driver to get the correct value of WOL bit in shared memory after a device reset. Note: None. 2. Problem: CQ65351 - 5720 with cable, after driver installed, device will come up as 100Mbps speed. Cause: Driver doesn't use correct offset to obtain APE mutex for accessing GPHY, it always gets timeout. Change: Correct the APE shared memory offset. Note: None. Version 15.4.0.15 Aug 25, 2012 ---------------------------------------- 1. Problem: CQ65335 - 65347 - OEM: PM offload is active even if WOL is disabled in OS power management. Cause: PM offload FW acts with a OEM system and cause resume time too long if no task(PM offload or WOL) for the FW. Change: Don't download the FW if no task for it. Note: None. Version 15.4.0.14 Aug 24, 2012 ---------------------------------------- 1. Problem: CQ65335 - One customer reports a WHCK test fail. Cause: One data field should not be used by FW if the signature is not correct but it is not always the case. Change: Clean up the field before downloading the FW to workaround it. Note: None. Version 15.4.0.13 Aug 16, 2012 ---------------------------------------- 1. Problem: CQ65193 - Enable device VMQ founction and bind to Hyper-V will get BSOD in Server 2012. Cause: Driver was referencing memory with an invalid address that causes kernel exception. Change: Remove the code to correct the error. Note: None. Version 15.4.0.12 Aug 15, 2012 ---------------------------------------- 1. Problem: CQ65105 - WHCK: VMQScalability Test fail Cause: The RCV BDI state machine generates an attention when the producer rings are disabled when a VMQ is freed. The attention prevents anymore RX BDs from being fetched by the device. Change: Disable the RCV BDI state machine attention when VMQ is enabled. Note: None. Version 15.4.0.11 Aug 14, 2012 ---------------------------------------- 1. Problem: CQ65179 - WHCK: The latest driver v15.4.10 failed on NDISTest 6.5 VlanSendRev test under W2012/W8, but W7 passed. Cause: The Vlan ID is not correct when driver gets Vlan ID from RBD (VALN Tag field) with a 16-bit mask. Change: Use 12-bit mask instead. Note: None. Version 15.4.0.10 Aug 10, 2012 ---------------------------------------- 1. Problem: CQ65065 - The EEE setting is missing in OEM x86 inf file. Change: Add EEE parameters in inf file for OEM specific systems. Impact: None. 2. Problem: CQ65064 - "*JumboPacket" key doesn't stick in registry during driver installation. Change: Make change in inf file to override registry key's default value as a workaround. Impact: None. 3. Problem: CQ65085 - Ndis Vlan tagging is not working properly when Vlan ID is larger than 255. Cause: There is an arithmetic error while driver is checking the vlan id inside recevied packets. The code error makes driver think the received packet is invalid and then drop the packet. Change: Fix the coding error. Note: The issue happens with Windows 8, Windows 2012 only. Enhancements: ============= 1. Request: Support IOAC wake reason. Change: Support IOAC wake reason by a private OID. Impact: None. Version 15.4.0.9 Aug 02, 2012 ---------------------------------------- 1. Problem: CQ64875 - Adding new multicast stream causes dropped frames in existing streams Cause: The receiving multicast packet configuration was disabled temporarily before adding new multicast stream. If the packet comes before driver completing the operation, then the packet will be dropped. Change: Don't clear original multicast setting while adding a new one. Impact: None. 2. Problem: CQ64981 - WHCK:NXI:BSOD may happen when running VMQBasicVerification test on W2k8 R2. Cause: The driver is built on NDIS6.30 and the NDIS in W2k8 R2 is 6.20. BSOD may happen when some fields that only valid on 6.30 are touched when data is saved by a struct pointer. Change: Check the struct version and only save the valid fields. Impact: None. Version 15.4.0.8 Jul 24, 2012 ---------------------------------------- 1. Problem: CQ64619 - OEM Adapter's PXE version and NCSI version are not correctly read by winfwupg. Cause: The nvram (ST45PE40VP) used in the OEM system is not supported in current release driver for 5719. Change: Adding the nvram support for device (5719) to read/write nvram in correct path. Impact: None. Version 15.4.0.7 Jul 23, 2012 ---------------------------------------- 1. Problem: CQ63974 - OEM OCBB-Windows: No OCBB Raw Data found from OEM application Cause: When driver copies 2nd scratchpad block (boot ETOCs), the Region Update State field has been overwritten. Change: Save and restore the Region Update State while copying the data of 2nd scratchpad block. Impact: None. 2. Problem: CQ64810 - Magic package WOL doesn't work,when use 5722 NIC on s4 state of server2012 Cause: PM offload firmware should not be used by non-APE devices with ASF/IPMI enabled. Change: Check before downloading the firmware. Impact: None. Version 15.4.0.6 Jul 18, 2012 ---------------------------------------- 1. Problem: CQ64409 - OEM-5718S: remove EEE, WireSpeed, Wolspeed and WakeOnPattern from advanced property on Win8. Cause: The unnecessary registry entries (installed by inbox driver with 2 part ID match) are not removed during driver upgrade. Change: Make inf changes to delete the old registry entries during installation. Impact: None. 2. Problem: CQ63806 - Win8:NXI:WHCK: NDISTest 6.5 PM_WolPattern test failed on "Wake Packet Indication test failed! Status=NDIS_STATUS_FAILURE". Cause: WPD code is not matched the latest WDP spec. Change: Change the code for WPD. Impact: Support WPD. 3. Problem: CQ64187 - BACS:EEE information for 57766 and 5761 abnormal. Cause: BytesWritten is not set correctly. Change: Set the correct BytesWritten return value. Impact: None. 4. Problem: CQ64214,CQ64496 - OEM System 5718B0: S5/WOL does not work on Win8 server build 8400. CQ64536 - 5720 Fiber : S5 WOL does not work on Windows 8 and 2012. Cause: The PME_Enable bit (of PMCSR register) is not enabled while system entering S5. Change: Enable PME_Enable bit while system entering S5. Impact: None. Enhancements: ============= 1. Request: CQ064590 - OEM:5761: 4 part ID. Change: change friendly name for OEM Impact: None. 2. Request: Support IOAC(v1.05) Impact: None. 3. Request: CQ64307 - Need to indicate NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG after OID_OFFLOAD_ENCAPSULATION(WIN8 bug workaround). Impact: None. Version 15.4.0.5 Jun 29, 2012 ---------------------------------------- 1. Problem: CQ63915 - WHCK:Test machine rebooted unexpectedly on PCI Root Port Surprise Remove Test (PCI device only) Cause: The test doesn't physically remove device, device still has the capability to do DMA for receiving packet which will possibly corrupt memory (RBD/Rx Buffer) freed and reallocated for other software components. Change: Make a GRC reset to make device back to uninitialized state when driver receives a surprise removed event. Impact: None. 2. Problem: CQ64027 - BACS: Applying Enable Dash, appears as enabled, but it is not. Cause: With the particular testing steps, the APE shared memory will contain garbage data that makes driver think the firmware type is NCSI, not DASH. So driver will return from UM_ApeEventWrite() immediately and it will not send APE event to firmware anymore, then BMAPI stops and will not update nvram Change: Check the APE shared memory signature before getting firmware feature. Impact: None. Enhancements: ============= 1. Request: CQ62336 - Obsolete older chips for Win8. Change: Add 5721 support back. Impact: None. 2. Request: Limit WOL pattern number to 8 if PM offload FW is loaded. Impact: None. 3. Request: Disable WPD support. Impact: None. Version 15.4.0.4 Jun 18, 2012 ---------------------------------------- 1. Problem: CQ63551 - BACS gives a error ??Fail to save ASF Table?? When attempting to enable / disable ASF continually. CQ63552 - After cable analysis test, enable/disable ASF will result in error ??Fail to save ASF Table??. Cause: Driver is not aware that ASF is enabled at runtime, CQ51828 workaround is activated and it causes device to run at slower clock that makes BMAPI get time-out for waiting ASF to be loaded. Change: Not to change Clock Policy registers if bootcode has already set the registers with higher clock speed (after GRC reset). Impact: None. 2. Problem: CQ63614 - OEM-System-5720 NIC: System runs into BSOD with bugcheck IRQL_NOT_LESS_OR_EQUAL during system reboot. Cause: RSS mode cannot be changed at runtime after initialization or device may dma RBD to incorrect location. Change: Always enable device RSS in the init time if RSS is enabled. Impact: None. 3. Problem: CQ62858 - NdisTest 6.5 PM_PowerStateTransition failed. Cause: Driver doesn't generate expected MediaStateUnknown status notification on system sleep and expected number of MediaStateConnected status on resume from sleep. Change: Make driver to generate status notification as NDISTest requests. Impact: None. 4. Problem: CQ63906 - "Wake Up Capabilities" should be removed after driver upgrade from 15.2.0.x to 15.4.0.x. Cause: The old registry entries are not removed while doing driver upgrade. Change: Make inf changes to delete the old registry entries during installation. Impact: None. 5. Problem: CQ3805 - Win8:NXI:WHCK: VMQScalability test failed on the NIC switch capabilities should report NumVlansPerPort as 0, but its reporting 1 Change: Set NumVlansPerPort in NIC switch capabilities to 0. Impact: None. 6. Problem: CQ63625 - The NX1 NDIS6 driver reports the wrong NDIS version when queried. Change: Report NDIS version equal or less than 6.30. Impact: None. Enhancements: ============= 1. Request: CQ62336 - Obsolete older chips for Win8. Change: Change the message level to *Information* level to make NX1 consistent with NX2. Impact: None. 2. Request: CQ62067 - Set card reader DMA Read MRRS to 7 - for 4096B transfers. Change: Set card reader DMA Read MRRS to 4K for all 57766. Impact: None. 3. Request: For OCBB, use driverFlags[port] in Option Card Scratchpad Index Table. Note: For previous implemenation (one DWORD) - driverFlags[0]: port0,1,2,3 use b0-7,b8-15,b16-23,b24-31 For new implemenation (4 DWRODs) - use b0-7 of driverFlags[port] NCSI v1.0.92 or later is needed to work with new driverFlags format. 4. Request: Passing EEE configuration down to management firmware. 5. Request: Download EEE patch for 57766/57786 family devices to accomodate OTP size limitation. 6. Request: Support fiber phy SGMII mode. Change: Setup fiber phy SGMII based on NVRAM info. Impact: None. 7. Request: CQ63770 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 8. Request: Add EEE info OID for BACS. Impact: None. Version 15.4.0.3 May 29, 2012 ---------------------------------------- 1. Problem: CQ63194 - Win8:NXI:WHCK:GenericMiniportRequirements test failed due to the CDN requirements not met Cause: A Port1DeviceNumber or Port1FunctionNumber entry is required for a multiport network adapter. Change: Add Port1FunctionNumber entry in the inf file for a multiport network adapter. 2. Problem: CQ63523 - Driver is missing when deploying Win7 with BCM5786 NIC Cause: The "CopyFiles" directive is missing in device's INF install-section. Change: Add the missing "CopyFiles" directive. Impact: None. 3. Problem: CQ63382 - Win8 server build 8370: 5719 with enable VMQ run chariot will BSOD. Cause: DPC watch dog timer timeout when waiting for mainlock in GenTimer. Change: Release the mainlock when VMQ CPU affinity is changed. Version 15.4.0.2A May 23, 2012 ---------------------------------------- Enhancements: ============= 1. Request: CQ63187,CQ63430 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 15.4.0.2 May 22, 2012 ---------------------------------------- 1. Problem: CQ62747 - 57766 Cable Analysis test failed when testing via Remote Desktop Connection(RDC). CQ62751 - By using RDC to configure BACS 57766 ASF enable/disable parameter will result in error. Cause: The CQ51828 woarkound causes device to run at slower clock and that makes BMAPI get time-out for waiting ASF to be loaded and running. Change: Disable CQ51828 woarkound when ASF is enabled. Impact: None. 2. Problem: CQ63050 - Update b57vista driver then missing registry key of flow control. Cause: "*FlowControl" key doesn't stick in registry during driver installation. Change: Make change in inf file to override registry key's default value as a workaround. Impact: None. Enhancements: ============= 1. Request: CQ62839 - Please disable flow control for all OEM SSIDs for 15.0 gold drivers Change: disable flow control based on SSIDs 2. Request: CQ62976 - Set card reader DMA Read MRRS to 4K Change: Set card reader DMA Read MRRS to 4K 3. Request: CQ62336 - Obsolete older chips for Win8. Change: Make driver fail to load with obsolete devices for Win8 Impact: User may see obsolete device gets yellow bang in the device manager. 4. Request: CQ63402 - Delete registry keywords that are deprected Change: The registry key *LSOv1IPv4 is removed. Impact: None. Version 15.4.0.1 April 30, 2012 ---------------------------------------- 1. Problem: CQ62899 - 5719 connection failure with VMQ enabled on Chariot test Cause: VMQ dynamic processor affinity change is not handled properly. Change: Fix a bug for VMQ dynamic processor affinity change. Impact: None. 2. Problem: CQ62781 - Win8:NXI:NDISTest 6.5 "StandardizedKeywords" failed Change: Modified the inf files and reported VMQ HW capability even VMQ is not enabled Impact: None. Version 15.4.0.0 April 18, 2012 ---------------------------------------- 1. Problem: CQ61545 - 57761B0 system unable to establish a TCP connection in WinPE2.0 Cause: WinPE2.0 kernel is Vista and not support MSIX. Change: Don't use MSIX on Vista. Impact: None. 2. Problem: CQ62126 - BACS Diagnostics and Cable Analysis Test fails. Cause: Driver doesn't set the correct value for BytesWritten (the number of bytes it is returning at InformationBuffer) while BMAPI is querying device's APE registers through T3_OID_READ_BAR1_REG in UM_QueryInformation(). Change: Return correct value for BytesWritten while processing T3_OID_READ_BAR1_REG. Impact: None. 3. Problem: CQ62440 - 5720: driver can not be installed on W2K8 SP2 x32 Cause: There is a typo in one of the infs, so some specific OEM's devices won't install. Change: Corrected the inf text. Impact: Newly introduced 15.2.0.5 4. Problem: CQ62475 - The OEM software release has wrong default RssQueue setting. Cause: The OEM specific inf file has duplicate *NumRssQueues setting, which is incorrect. Change: Fix the inf error. Impact: None. 5. Problem: CQ62509 - Disabling Interrupt Moderation improves performance of large packet sizes. Change: Adjust 5718S coalescing parameters to less aggressive. Impact: None. 6. Problem: CQ62598 - VMQ does not work on WIN8 server build 8250 Cause: The WIN8 build 8250 requires flag NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED is set or VMQ cannot be created. Change: Add the flag. Impact: None Enhancements: ============= 1. Request: CQ62131 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: Adding support for Windows 8 in release 15.4. Change: Merge the code from Windows 8 branch back to mainline for 15.4 Impact: None. 3. Request CQ62574 - Update Product_Version String to 17.4.0 for OEM systems. Change: Change the product version as required. Impact: None. Version 15.2.0.5B Feb 24, 2012 ---------------------------------------- 1. Problem: CQ61761 - 57766: The performance numbers in packet length shorter than 1518 are not good enough. Change: Adjust Tx coalescing parameters for 57765/57766/57785/57786 family devices. Impact: None. Version 15.2.0.5A Feb 17, 2012 ---------------------------------------- Enhancements: ============= 1. Request: CQ54394 - Only magic packet is supported for "Wake Up Capabilities" and hide "WoL Speed" in driver advanced properties. Change: Make inf changes as requested for OEM systems. Impact: None. Version 15.2.0.5 Feb 10, 2012 ---------------------------------------- 1. Problem: CQ61083 - 57766: System runs into BSOD(D1) when disable/enable BASP virtual adapter from device manager. Cause: RSS is enable when there is only one physical CPU and hyper-threaded is enable. Change: Disable RSS when there is only one physical CPU even when hyper-threaded is enable. Impact: None. 2. Problem: CQ61038 - 57766: Network traffic stop when running copy-compare test. Cause: MSIX vector0 is only used for TX and RST parameters should not be saved. Change: Not save RST parameters for MSIX vector0 to prevent from overwriting. Impact: None. Enhancements: ============= 1. Request: CQ61287,CQ61336 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: CQ61091 - NX1 NC-SI not properly returning Family Driver Version Change: Driver will read "product version" from registry and deposit the data in APE share memory then NCSI can refer to it. Impact: None. 3. Request: Remove CQ60621 workaround. Change: Keep bit 3 of reg 0x36B0 to 1. Note: The latest bootcode has a workaround for CQ60621. Version 15.2.0.4A Jan 25, 2012 ---------------------------------------- Enhancements: ============= 1. Request: Adjust Tx coalescing parameters for 5717/5718/5719/5720. Impact: None. Version 15.2.0.4 Jan 19, 2012 ---------------------------------------- Enhancements: ============= 1. Request: Enable TSS for an OEM device only if RSS queue number is 1. Impact: None. Version 15.2.0.3 Jan 17, 2012 ---------------------------------------- 1. Problem: CQ60621 - 57762:EEE not functioning properly - Power stays high after traffic removed Cause: CPMU relies on several hw detection methods to decide whether or not to enter/exit EEE Mode, "TXMBUF = 0" is one of it. After some traffic with MMRR enable, it may causes the TXMBUF Count to never go to zero. TXMBUF Idle detection logic needs to be updated when the MMRR architecture is added in 57762/57766. Change: Workaround: mask this error detection bug by clearing bit 3 of register 0x36B0. Impact: None. 2. Problem: CQ60966 - b57diag "sechksum" will get failure on "2nd Boot Code" when boot to OS and loaded driver. Cause: Incorrect page size (264) was used for ATMEL AT45DBxxxD. Change: Make driver to use correct page size (256) for programming ATMEL NVRAM. Impact: None. 3. Problem: CQ60805 - NC330i Memory subsystem issue during RFC2544 throughput testing. Cause: When running RFC2544 test and in some cases, the system can process incoming rx packets at a faster rate than it can transmit packets. Change: Limit the tx queue length by a registry key named MaxTxQueueLen to workaround the problem. Impact: Tx packets are dropped when max tx queue lenght is reached. Enhancements: ============= 1. Request: CQ60841 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 15.2.0.2 Jan 09, 2012 ---------------------------------------- 1. Problem: CQ60709 - 5715 "Interrupt test failed" by BACSGUI under W2k8x64 Cause: MSI support was enabled for 5715 in v15.2.0.0, driver needs to run the workaround to restore MSI enable bit after doing GRC reset, but this workaround does not execute during BACS interrupt test. Change: Restore MSI enable bit before starting test. Impact: None. 2. Problem: CQ60710 - 57762: NETBIOS name query/TCP SYN v4 and TCP SYN v6 can't wake up when PM Offload enabled. Cause: PM Offload firmware did not recognize the 57762 family devices. Change: Added support for 57762/57782 family devices to PM Offload firmware. Impact: None. Enhancements: ============= 1. Request: CQ60420 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: Set RSS default queue number to 1. Impact: None. 3. Request: Replace registry key "RssRxRing" with MSFT standard key "*NumRssQueues". Impact: None. 4. Request: Do not assign interrupt affinity policy for MSI-X vector #0. Impact: None. 5. Request: Disable VMQ header split support. Impact: None. Version 15.2.0.1 Dec 16, 2011 ---------------------------------------- 1. Problem: CQ60306 - 57762 A0: The performance numbers in packet length shorter than 1518 are not good enough. Cause: Driver is doing dynamic interrupt coalesce switching frequently and it causes the performance drop. Change: Change the algorithm that driver can stick with one interrupt coalescing parameter stably during the test. Impact: None. Version 15.2.0.0 Dec 07, 2011 ---------------------------------------- 1. Problem: CQ59623 - 5718 LED signals doesn't display as expected in S3/S4 state under LINK/ACTIVIRY LED mode (4). Cause: The LED mode is not correct when system entering S3/S4 with "Lowest WOL Speed" setting. Change: Set bit_12:11 (LED Mode) of reg 0x40c to 11 (same as PHY mode 1) so LED can get correct color when link is 10Mbps in S3/S4. Impact: None. 2. Problem: CQ59676 - Running chariot with Jumbo frame enable and then disable device will cause system BSOD. Cause: Driver optimized code "adjust the rx buffer so that packet payload begins at a 64-byte boundary" is causing device to write outside driver allocated DMA buffer Change: Remove the optimized code. Impact: None. 3. Problem: CQ60097 - b57&k57 driver: 2c_Mini6RSSSendRecv: [88888] Received some net buffer lists out of order Cause: RSS handling for MSI/IRQ devices is not correct on a 64bit system when CPU hyper-threaded enable. Change: Fixes the RSS bug for MSI/IRQ devices Impact: None. Enhancements: ============= 1. Request: CQ59560,CQ59789 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request CQ59811 - Update Product_Version String to 17.2.0 for OEM systems. Change: Change the product version as required. Impact: None. 3. Request: Add support for 57762/57766 family devices. 4. Request: Disable EEE interoperability SW workaround for 57762/57766. 5. Request: CQ59008 - Enable MSI support for 5715/5714/5780. Version 15.0.0.21 Oct 19, 2011 ---------------------------------------- 1. Problem: System gets assertion (DPC_WATCHDOG_VIOLATION 0x133) while running 1c_Mini6Send test in NDISTEST6.0. Cause: Driver has assigned incorrect value for Tx credit limit (used for performance tuning) that makes driver get busy in a loop while processing send event. Change: Assign a reasonable value to Tx credit limit. Impact: None. 2. Problem: CQ59251 - ASYM_PAUSE is not advertised when flow control mode is auto or Rx & Tx Enabled. Change: advertise ASYM_PAUSE when flow control mode is auto or Rx & Tx Enabled. Impact: None. Enhancements: ============= 1. Request: CQ59295 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 15.0.0.20 Oct 04, 2011 ---------------------------------------- 1. Problem: CQ59003 - Win8 : ping test failure. Cause: The NDIS function (NdisGroupMaxProcessorCount) doesn't return correct number of processors in a specified processor group. Ex, the system has 2 CPUs and it returns 8. This makes driver doesn't handle interrupt resource assignment correctly, then it causes driver unable to set CPU affinity successfuly for MSI-X interrupt. Change: Use another NDIS function NdisGroupActiveProcessorCount to get correct number of processors that are currently active in a specified group. Impact: None. Version 15.0.0.19 Oct 03, 2011 ---------------------------------------- 1. Problem: CQ58336 - specific OEM reports the system cannot be waked by Interesting packet from S3 under WinXP/Vista when DASH is enabled. Cause: Side effect of the CQ47248 change. Change: Remove the CQ47248 change for the specific OEM device. Impact: None. Enhancements: ============= 1. Request: Add support for greater than 64 processors. 2. Request: Enable registers dump by default(CQ55733). 3. Request: CQ58703 - OEM Windows driver needs to report real FC value after auto-negotiation Change: Added an enhancement to control how flow control results are reported. if flow_control_reporting_mode is enable, the flow control results is reported otherwise the requested configuration is reported. Impact: The mode is enable for the OEM. Version 15.0.0.18 Sep 14, 2011 ---------------------------------------- 1. Problem: CQ58102 - 5718 has LED issues when using Bootcode LED mode 4 with SerDes interface. Cause: LED is forced to PHY MODE 1 while device is working at serdes mode. Change: Make driver to read LED setting from shared memory and configure LED MODE accordingly. Impact: None. 2. Problem: CQ58327 - With new flash part, launch BACS4 and choose the lan device will pop-up error messages. Cause: Driver doesn't use correct nvram strapping for recognizing new flash device M45PE16 ST. Change: Add new nvram strapping setting to support the new flash device. Impact: None. 3. Problem: CQ58481 - B57vista v15.0.0.17a: A OEM system(32core) with enable HT after reboot system the virtual network unable get DHCP IP. Cause: The interrupt for link status change is missed sometimes during reboot and it causes the base NICs report link down. Change: when VMQ is disable, support RSS even *RssOrVmqPreference is set. When VMQ is enable, check link status one more time in the link down timer. Enhancements: ============= 1. Request: Adding support for Palladium (emulation system) with 57765/57785 devices. Change: Make driver be able to recognize FPGA setting and work accordingly. Impact: None. Version 15.0.0.17A Aug 24, 2011 ---------------------------------------- Enhancements: ============= 1. Request: CQ58068 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 15.0.0.17 Aug 24, 2011 ---------------------------------------- 1. Problem: CQ58037 - OEM system - Install multiple NIC's driver on the same system caused BSOD D1 Cause: The change in v15.0.0.16 may cause driver to access invaild address when Option Card Scratchpad Index Table has all zero contents. Change: Prevent driver accessing invalid address when the active flag is not set. Impact: None. Version 15.0.0.16 Aug 22, 2011 ---------------------------------------- 1. Problem: CQ57831 - OCSD/OCBB does not work for the second 5719 card in a two card configuration. Cause: Driver instances are contenting for the use of the global state variable. Change: Change driver to only use the Region Update State variable in the OCBB region header, which is per card. Impact: None. Version 15.0.0.15 Aug 19, 2011 ---------------------------------------- 1. Problem: CQ57950 - OEM system : Install multiple NICs driver on the same system caused BSOD (D1). Cause: Driver is refreshing host memory with zero address when it has not done the initialization yet. Change: Make sure the function (refreshing host memory) is called when driver has finished the initialization. Impact: None. Version 15.0.0.14 Aug 17, 2011 ---------------------------------------- 1. Problem: CQ57855 - iBoot failed on 2K8x86 SP2 against BCM5719 NIC Cause: The msix table is incorrectly created when the irq mode is used on iBoot. Change: Don't create the table if the irq mode is used. Impact: None. Version 15.0.0.13 Aug 09, 2011 ---------------------------------------- 1. Problem: CQ57694 - 5720: Link flaps in 100Mbps speed with [EEE disabled] connected to Dell 5548 switch. Cause: 5719 and 5720 are harware strapped to default EEE enabled, driver needs to clear PHY 1000/100 EEE advertisement when driver is loaded with EEE disabled in driver's advanced property. Change: Clear GPHY 1000/100 EEE advertisement correctly when EEE is disabled. Impact: None. Enhancements: ============= 1. Request CQ57715 - 5761: driver should propagate PHY APD according to NVRAM setting. Change: Make driver to read PHY APD setting from NIC shared memory (deposited by bootcode) and configure PHY accordingly. Impact: None. Version 15.0.0.12 Aug 02, 2011 ---------------------------------------- 1. Problem: CQ57297 - 5722 NIC: BSOD when ethernet cable is connected. Cause: For non-msix devices, the processor number of irq is used for RSS index. If the irq processor number is bigger than RSS rx ring number, the drive will access the invalid RSS rx ring and caused BSOD. Change: Bypass RSS service if irq processor number is bigger than RSS rx ring number. Impact: None. 2. Problem: CQ57441 - NXI:WHQL:b57vista failed on NDISTest 6.0 under Vista x86/x64 Cause: MsixMsg/RxQueue mapping table is used when the table is not set and cause a MSIX vector not enable. Change: Don't use MsixMsg/RxQueue mapping table when the table is not set. Impact: None. 3. Problem: CQ57270 - b57driver v15.0.0.10: After edit BASP team with Hyper-V unable to get DHCP IP. Cause: Same root caused of CQ56841 but the fix of CQ56841 still has a hole. Change: Correct the code to handle this particular configuration properly. Impact: None. Enhancements: ============= 1. Request CQ55733 - NX1/b57-drivers: Driver Device/Firmware Debug Dump Capability Change: Add complete register dump capability in the crash dump file as request. Impact: None. 2. Request: CQ57372 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 15.0.0.11 Jul 22, 2011 ---------------------------------------- 1. Problem: CQ57189 - 5720_A0: System hangs when tested with Processors=2, RSS Queues=1 and 2. Cause: Under specific configuration (2 CPUs - one is real core and another one is Hyper Threading), the change in v15.0.0.9 makes driver incorrectly disable the code path for multiprocessor. Change: Make sure driver enable the code path for multiprocessor when total CPU number is larger than 1. Impact: None. Version 15.0.0.10 Jul 19, 2011 ---------------------------------------- Enhancements: ============= 1. Request For OEM specific feature enhancement. Change: Ignore NCSI managed flag while refreshing host memory. Impact: None Version 15.0.0.9 Jul 18, 2011 ---------------------------------------- 1. Problem: CQ56840 - system gets BSOD while remove BASP teaming adapter in Hyper-V "Virtual Network Manager". Cause: Driver is getting incorrect CPU count (using NdisSystemProcessorCount) in the particular system which has been configured as "Number of processors" = 1. This causes driver to run the RSS code path which it shouldn't. Change: Use another way to get correct CPU count and disable RSS support accordingly while "Number of processors" is 1. Impact: None. 2. Problem: CQ55452 - OEM NC-Series Broadcom 1Gb Driver is showing update return an error for w2k8_R2x64bit Cause: The device IDs are not in the OEM inf file's win7 section. Change: Add the device IDs in the OEM inf file's win7 section. Impact: None. 3. Problem: CQ56841 - BASP teaming adpter binding with hyper-v makes system unable to get DHCP IP. Cause: The RSS talble size is 0 in this particular configuration but device is still able to generate MSI-X interrupt on CPU number larger than RSS ring size (4). There is a coding error that driver may incorrectly ignore MSI-X interrupt so device doesn't service tx/rx packets anymore. Change: Correct the code to handle this particular configuration properly. Impact: None. 4. Problem: CQ57101 - No counter of LSO transmit requests in BACS4 statistics. Cause: LSO related registry keys don't stick in registry during driver installation. Change: Make change in inf file to override registry key's default value as a workaround. Impact: None. 5. Problem: System hits breakpoint while running VMQTestingOIDs with check version driver. Cause: The fix in v14.8.1.5 resolves the interrupt storm (by driver?s updating incorrect tag value) when VMQ is freed. However, the same problem happens when driver enables interrupt for VMQ during initialization. Driver enables interrupt in VmqInitialize() with tag value 0, device generates msi-x interrupt because device?s internal state of tag value is 1. Change: Make a workaround to force a status block update (without interrupt) to get the latest/correct interrupt tag value and then enable the interrupt with the tag value (synced with device's). Note: None. Enhancements: ============= 1. Request Workaround for FUNC_MODE[] inputs are not HW strapped Change: Check the signature in from Rx CPU shared memory (0xe00, deposited by bootcode), if it's invalid, driver will read CPMU status directly from register 0x362C. Impact: None 2. Request For OEM specific feature enhancement. Change: Pass device's LSO and Checksum offload information to NCSI while driver is loaded. Impact: None Version 15.0.0.8 Jul 07, 2011 ---------------------------------------- 1. Problem: CQ56510 - 5719 Production NIC_A1 - RSS doesn't work when setting the number of processors to 1 Cause: There is an incorrect check added in ISR routine. Change: Remove the incorrect check in ISR routine. Impact: None. 2. Problem: CQ56612 - 57781B0 fail to detect linkdown with EEE is enabled and connecting to a non-EEE target Cause: Interoperability issue workaround which should not be applied to a non-EEE target. Change: Remove interoperability issue workaround for a non-EEE target. Impact: None. 3. Problem: CQ56766 - Frimware upgraded failed with 5719 when EEPROM is used for self-boot. Cause: Driver is not using the correct nvram strapping for recognizing eeprom devices. Change: Correct the nvram strapping map for the eeprom devices used by 5719. Impact: None. 4. Problem: CQ56286 - OEM reports the super charger will show error message when both RSS and hyper threading are enabled. Cause: The default MSIX messages are not enough if the msix vectors are smaller than the processors number. Change: Add more MSIX messages if need to make one MSIX message per processors at least. Impact: None. 5. Problem: CQ56644 - 5719-A1: System BSOD when run Load/unload. Cause: The non-zero MSIX messages are still used when RSS is not set. Change: Use the non-zero MSIX messages even RSS is not set. Impact: None. Enhancements: ============= 1. Request CQ56540 - OEM 5719 system: driver did not include Jumbo Frame and LSO. Change: The JumboFrame and LSO entries were removed for 5719 A0, now it's added for OEM system with 5719 A1. Impact: None. 2. Request CQ56099 - Please add 4-part IDs for specific OEM. Change: Make inf change as requested. Note: The inf changes added in v15.0.0.6 is incorrect (SVID is not correct) 3. Request CQ56550,CQ56551 - Please add 4-part IDs for specific OEM. Change: Make inf change as requested. Note: None 4. Request Workaround for FUNC_MODE[] inputs are not HW strapped Change: Instead of reading cpmu status from reg 0x362c, reading the data from Rx CPU shared memory (0xe00) deposited by bootcode. Note: None Version 15.0.0.7 Jun 22, 2011 ---------------------------------------- 1. Problem: CQ53065 - Cotopaxi-5719: EEE- Link down and link up on 100M speed with APSM enabled(0x41, 0x42, 0x43) Change: Change a EEE setting for 100MB EEE link flap issue. Impact: None. 2. Problem: CQ56393 - 5720 - OEM: Random BSOD when reloading b57 driver Cause: There are some spurious irq before RSS parameters are set. Change: Ignore the spurious irq. Impact: None. 3. Problem: CQ56383 - 5720_A0- The DPCs rate does not work as expected when toggling RSS Queues. Cause: RSSv1 (Vista, w2k8 and older) could give the driver a rss table with more processors than the number of queues the driver advertised. Change: Workaround it by making the processor number equal to the number of RSS queue. Impact: None. 4. Problem: CQ56417 - Snaggletooth: 5720A0-Fiber bindding Hyper-V with BASP will cause BSOD. Cause: The fix of CQ56393 is still have a hole. Change: Fix the hole and ignore the spurious irq on a corner case. Impact: None. Enhancements: ============= 1. Request CQ56244 - Change 5719 & 5720 based customer friendly names in Windows 2k8 .inf files. Change: Modify some friendly names in OEM's specific inf files. Impact: None. Version 15.0.0.6 Jun 16, 2011 ---------------------------------------- 1. Problem: CQ55592 - 5718 B0: KeepAlive.htm of NDISTest6.5 WOL failure on Hyper threading with enabled Cause: It's hardware bug where writing to RxCPU scratchpad memory 0xC00350XX would also write to APE Mutex area 0xC00150XX. This makes driver always get time-out while trying to obtain APE Mutex for read/write GPHY. During this period, device is not able to pass traffic because driver is still busy in initializing the device. Change: Reduce code size by removing code that are not used by PM Offload firmware. Thus avoiding the affected scratchpad memory area (0xC00350XX). Impact: None. 2. Problem: CQ55652 - 57785x : it takes multiple interesting packets to wake up SUT when link speed is 100M. Cause: Device may not be able to latch interesting packet when TL_CLK is running slower than RX_CLK. Change: Make driver not to set bit_26 of reg 0x400 (Free Running ACPI), this makes ACPI h/w stay in "match" state after detecting an interesting packet. Impact: The change is for 57785/57765 family devices only. 3. Problem: CQ55277 - WinFWUpg v7.0.43: 5720 (M45PE40) after upg ncsi run crc will failed in "APE fw" and "iscsi cfg prog". Cause: NVRAM manual strapping is set on the 5720 board. Change: Add NVRAM manual strapping support in the driver for 5720. Impact: None. 4. Problem: CQ55253 - Disabling RSS provides better CPU scaling result Cause: The RSS indirect table is not setup correctly when CPU hyper-threaded is enable on a 64bit system. Change: Correct the RSS indirect table setup on a 64bit system when CPU hyper-threaded enable. Impact: None. 5. Problem: CQ56026 - 5718 fiber-Link up(OS) on Playdead port while establish pass-through in 2K8-R2 Cause: Driver is indicating connected status to OS while it should not. Change: Make driver not to indicate any link status while device is in playdead mode. Impact: None. Enhancements: ============= 1. Request CQ55772 - Add 4 part ID support for copper in NDIS5 and NDIS6 drivers with 5719 and 5720 Change: Make inf change as requested. Impact: None. 2. Request CQ55763 - Modify existing 2 part ID match to add the "Copper Only" in advanced property settings Change: Make inf change as requested. The "(Copper only)" are added in the following settings 1. 802.3az EEE (Copper Only) 2. EEE Control Policies (Copper Only) 3. Ethernet@WireSpeed (Copper Only) 4. Speed & Duplex (Copper Only) 5. Wake Up Capabilities (Copper Only) 6. WOL Speed (Copper Only) Impact: Chip affect: 5719 and 5720 with two part ID. 3. Request Adding support for NX1 OCSD/OCBB implementation Change: Make code changes to impelement the requested functions. Impact: None. 4. Request CQ56085,CQ56097,CQ56099,CQ56202 - Please add 4-part IDs for specific OEM. Change: Make inf change as requested. Impact: None. 5. Request CQ55773 - Change the default value of wake up capability to none for 5719 and 5720 Serdes interface Change: Make inf change as requested. Impact: None. Version 15.0.0.5 May 19, 2011 ---------------------------------------- 1. Problem: CQ55539 - Sawtooth B0: VMQScalability.htm of NDISTest6.5 VMQ failure on Hyper threading with enabled Change: Setup MSIx vectors on the processors including hyper-threading processors. Impact: None. 2. Problem: CQ55346 - 5720: System gets BSOD (bugcheck D1) during NDISTest6.5 VMQ testing in DELL R910 16-Cores Cause: During NDISTest VMQ tests, NDISTest asks driver to allocate/free VMQs multiple times. There is a racing condition that NDISTest may send out packets from server to client while VMQ initialization is not completed yet, but VMQ's interrupt is already enabled. So device will generate interrupts for driver to service rx packets for the VMQ, this causes driver to reference an invalid memory address. Change: Disable VMQ's interrupt when it's freed. Impact: None. 3. Problem: CQ55682 - WinFWUpg tool corrupts the NVRAM on 5720 after MBA upgrade Cause: Same root caused of CQ55277 for another type of NVRAM. Change: Add support for more types of NVRAM with the correct strapping info. Enhancements: ============= 1. Request CQ55635 - Update Product_Version String to 16.8.0 for Release 14.8 Change: Change the product version as required. Impact: None. Version 15.0.0.4 May 10, 2011 ---------------------------------------- 1. Problem: CQ54056 - BSOD 0xD1 or traffic stop observed when running copy compare test on OEM's platform Change: 1. Set FTS to 44 for 57761/57765/57781/57785 B0 family devices only. 2. Apply CQ55444 workaround on 57761/57765/57781/57785 B0 family devices as well. Impact: None. 2. Problem: CQ55464 - b57vista v15.0.0.3: 5719 and 5720 install driver will error code under W2k8x86 and Vistax86. Cause: NdisGetRssProcessorInformation API is not available under NDIS 6.20 Change: Check the function before calling it. Impact: None. Enhancements: ============= 1. Request: CQ55444 - Tx small fragments (less than 8 bytes) coalesce workaround should be applied for all effect controllers. Change: For all affected devices, coalesce SBDs if there is a SBD with length less or equal than 8 bytes. Version 15.0.0.3 May 09, 2011 ---------------------------------------- 1. Problem: *RssBaseProcNumber for RSS is not supported by the driver. Change: Add support and change the RSS base processor number based on the registry key. Impact: None. 2. Problem: CQ55277 - WinFWUpg v7.0.43: 5720 after upg ncsi run crc will failed in "APE fw" and "iscsi cfg prog". Cause: 5720 NVRAM strapping for eeprom AT45DB021D is different. Change: Add support for it. Impact: None. Enhancements: ============= 1. Request: CQ55003 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: CQ54401 - Disable Force Auto Negotiation when the current link speed at S0 matches the intended S5 link speed Change: Don't reset and force Auto Negotiation on the PHY if "Port Flap Avoidance" is enable in NVRAM configutation Impact: [1] no port flap during driver load/unload while in S0 with NCSI enabled [2] no port flap during S0 (device driver enabled/active) to S5 shutdown w/ NCSI enabled Version 15.0.0.2 Apr 25, 2011 ---------------------------------------- 1. Problem: CQ54972: DTM testing gets stuck at VMQStressTest of NIDSTest6.5 Cause: There is an coding error in the logic for CQ51637 workaround that makes NBLs pending in miniport driver and it makes ndistest protocol driver keep waiting for driver to complete the packet. Change: Correct the logic to make driver complete the NBL successfully. Impact: None. Version 15.0.0.1 Apr 21, 2011 ---------------------------------------- 1. Problem: CQ54928: Driver stuck when unloading driver with VMQ enable + key *RssOrVmqPreference=1 Cause: When making NDISTest6.5 (in WLK1.5 or WLK1.6), user needs to add the registry *RssOrVmqPreference manually before testing. This creates a corner case that make driver think VMQ is enabled, however VMQ number is zero. This make driver's CQ51637 workaround no able to process send event anymore, so it causes driver is unable to be unloaded because OS think there is pending NBL inside driver. Change: Make code change to process the corner case (VMQ enabled + zero VMQ number) properly. Impact: None. Version 15.0.0.0A Apr 20, 2011 ---------------------------------------- Enhancements: ============= 1. Request: Limit 5719 Send BD size to 4K or less. Change: When the tx packet size is larger than 4K, driver will split the packet into multiple SBDs with size less or equal to 4K. Impact: The change applies only for 5719. Version 15.0.0.0 Apr 19, 2011 ---------------------------------------- 1. Problem: CQ54261 - The ping delay can be seen with 14.6 gold driver on OEM platform. Change: Modify interrupt coalescing parameter by setting "RxMaxCoalescedFramesDuringInt" to 0 for OEM systems. Impact: None. 2. Problem: CQ54559 - Rx discards stat increments when dropping undesirable multicast frames. Cause: The counter increments because multicast frames are being rejected by the APE, which increases the counter. Change: Implement an alternative strategy where the driver counts the number of times rx mbuf resources are unavailable. Impact: The workaround grossly approximates the original function of the counter, but not exactly. This bug only affects 5717/5718, 5719 A0, and 5720 A0. 3. Problem: The link flap happened on a third party EEE capable switch. Cause: A software workaround for EEE PHY interoperability issue is not right. Change: Modified the software workaround for EEE PHY interoperability issue. Impact: None. 4. Problem: CQ51637 - Network traffic on GOS will fail after running CC32 on all pass-thru paths. Cause: The failed symptom shows that Guest OS doesn't pass tx packet to driver for sending out anymore. Change: Check and indicate TX completion periodically in driver's timer function. Impact: The workaround applies to TSS capable devices only (ex. 5719/5720). Enhancements: ============= 1. Request: CQ54443,CQ54540 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: CQ54485 - NCSI NX1: Pass-thru only works 1G link when OS present with playdead mode Change: Make driver not to change MAC Port Mode (bit [3:2] of reg 0x400) when device is in playdead mode. Impact: None. 3. Request: Apply CQ54261 fix to a specific OEM 4 part ID. Change: By Inf files. Impact: None. 4. Request: Replace EEE registry key from "EeePhyEnable" to MSFT standardized keyword "*EEE". Impact: None. 5. Request: CQ54747 - Change device's description to "Broadcom NetXtreme Gigabit Ethernet" for OEM systems. Change: Make inf file change as request. Impact: None. Version 14.8.0.3A Apr 01, 2011 ---------------------------------------- Enhancements: ============= 1. Request: CQ54081 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 14.8.0.3 Apr 01, 2011 ---------------------------------------- 1. Problem: CQ54059 - 5719/5720: Shows incorrect device name "%BCM5718S" in device manager. Cause: There is an error in the inf file that makes device manager can't display the correct device name string. Change: Correct the error in b57nd60a.inf. Impact: None 2. Problem: CQ54066 - Need multiple Magic packets to wake system from S3/S4/S5 in Fiber mode. Cause: The wire clock is much faster than the TLP clock in Fiber mode. As a result, it fails to capture the WOL event. Change: Bootocde v1.05 has a workaround to derive TLP clock from NCSI PLL when system is running on VAUX. Make driver not to halt RX CPU during S3/S4/S5, so bootcode can execute the workaround successfully. Note: The change applys to 5720 only. 3. Problem: CQ54220 - Traffic stops with LSO packets crossing 4G boundary Cause: The SDI state machine is not able to handle the condition properly. Change: Make driver to double buffer transmit buffers that span a 4gb boundary. Impact: The change apllys to all devices. 4. Problem: CQ54056 - BSOD 0xD1 or traffic stop observed when running copy compare test on OEM's platform Change: Driver needs to set FTS to 44 as steps indicated below 1. Setbit 0x3668[18]=1 2. Setbit 0x6800[22]=0, 0x6800[29]=1, 0x6800[31]=0 3. Set 0x7c0c[7:0] = 0x2C Impact: The change applies to 57761/57765/57781/57785 family devices only. Enhancements: ============= 1. Request: Limit 5719 send BD size to 4K or less. Change: Make the code change as request. Impact: 5719 send BD size is 4K or less. 2. Request: CQ39523 - add min/max/default option for Tx + Rx buffers Change: Create an advanced driver option that allows the end user to select three different options for the amount of Tx + Rx buffers based on 2 part ID's. Impact: Apply the change on 5717/5718/5719/5720. 3. Request: Add support for "Play Dead Mode". Change: When device is in play dead mode, driver will not access GPHY and indicate disconnected status to OS. Impact: Apply the change on 5717/5718/5719/5720. Version 14.8.0.2 Mar 04, 2011 ---------------------------------------- 1. Problem: CQ52856 - Cotopaxi-A0: Running chariot with BASP teaming and Hyper-V on Host will cause BSOD Cause: When a NIC is added to a virtual network for VMs, OS will set *RssOrVmqPreference to tell the driver RSS is not used even when VMQ is disable. However, when b57 driver is used by BASP teaming and BASP is added to a virtual network, the key is set for BASP but not for b57 driver. So the b57 driver still think the RSS is enable. Plus RSS hash info is still passed on NBLs which is used by TSS and cause the problem. Change: Disable TSS if RSS table size is 0. Impact: None Enhancements: ============= 1. Request: Make driver to work with 5719 FPGA image without APE support. Change: Get fpga_setting[1:0] from CPMU clock status register 0x3630[31:30] and configure device properly. Impact: None. 2. Request: For 5720 only - clear bit 31 of Register 3624 to 0 when driver is loaded. Change: Bootcode v1.01 is introduced to address the issue with PXE banner not showing up during CTL-ALT-DEL. In this bootcode, it speeds up the loading of the Phase1 & Phase 2 bootcode by setting bit 31 of register 3624 to 1 to force the CPMU to speed up the core clock to 62.5MHz when the internal cpu gets reset and Vmain_Present is high. For the power saving, driver needs to to clear bit 31 of register 3624 to 0 when it get loaded. Impact: None. 3. Request: Apply 8-byte coalesce workaroud for 5720 family devices. Change: Coalesce SBDs (send buffer descriptors) if there is a SBD with length less or equal than 8 bytes. Impact: None. 4. Request: Disable LSO and Jumbo Frames support for 5719 A0 only. Change: Make inf file change as request. Impact: None. 5. Request: Add 4 part IDs support for 5719/5720 serdes mode for SW testing. Change: Make inf changes to show proper settings in driver advanced property. Impact: None. 6. Request: Apply workaround for RDMA FIFO overrun on 5719 A0 only. Change: Set RDMA FIFO high and low watermarks to 1.5K with 2K MRRS Impact: None. 7. Request: CQ52953 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 14.8.0.1 Feb 15, 2011 ---------------------------------------- Enhancements: ============= 1. Request: Disable CQ35234 workaround when WOL is disabled. Change: The workaround is only needed when WOL is enabled. Impact: The change is for 5761/5764/5784 family devices. 2. Request: Change the Copyright information to include 2011 for all SW modules Change: Change the Copyright information to include 2011 in related files. 3. Request: Disable EEE LPI bit when the link partner is not EEE capable. Change: Disable EEE LPI bit when the link partner is not EEE capable. 4. Request: Adding support for 5720 Change: Modify code to add support for 5720. Impact: None. 5. Request: Add EEE support for 5720 Change: Make code changes as requested. Impact: None. Version 14.8.0.0 Feb 03, 2011 ---------------------------------------- 1. Problem: CQ52098 - Certain switches causes connectivity loss during protocol bringup. Cause: Issue is related to iscsi interaction with vlan tag. Driver was trying to read VLAN setting from Nvram for iscsi block, but the device uses OTP. Because of this, wrong VLAN info is used. Change: For self boot and OTP, driver needs to skip the code which is only for legacy boot code. Impact: None 2. Problem: CQ52327 - Sawtooth: Unable to run Chariot on 16 GOS with VMQ+Jumbo Frame Enable Cause: The driver didn't swap the jumbo frame mailbox address for VMQ#12-#16. Change: Swap the jumbo frame mailbox address for VMQ#12-#16. Impact: None 3. Problem: CQ52170 - RSS enable, insert/remove SD card cause LAN traffic stop Cause: The interrupt for MSIX vector0 was disable. Change: MSIX vector0 is not used for RSS rx and RST flag should not be checked when enabling MSIX vector0 interrupt. Impact: None Enhancements: ============= 1. Request: CQ52312 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: set Max_standard_packet_size to 1522 for all VMQs to match the CQ51084 change. Change: set Max_standard_packet_size to 1522 for all VMQs. Impact: None. 3. Request: CQ52543 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 14.6.0.5 Jan 11, 2011 ---------------------------------------- 1. Problem: EEE PHY interoperability issue. Change: Implement a software workaround. Impact: None. 2. Problem: CQ51858 - 5719 A0: keepalive.htm test failure in NDISTest6.5 Wol under Win7-x64 Casue: PM Offload firmware is detecting a link status change after the driver starts the firmware. As a result of this the firmware will set up the MAC mode register to match the PHY settings. Since the PHY settings is for GMII the firmware will set the MAC mode register to GMII. Change: The resolution is for the firmware to handle the link status change only when in Vaux. Impact: None. 3. Problem: CQ51828 - 57781 A0 copy compare test traffic stop/D1 BSOD when running in 10M half mode. Cause: The receive return produce index in MSI-X status block is incorrect and it makes driver to access wrong memory access while indicating received packets to OS then cause system to run into BSOD with bugcheck D1. Change: Set "Link Idle Power Mode Clock Policy" to 6.25Mhz to make device core clock run faster in Link Idle Power Mode. The original default setting is 3.125 Mhz. Impact: None 4. Problem: CQ52060 - Sawtooth-B0-Fiber-Port1 will link down when disable port0 driver on 5718 Firber. Change: A software workaround by not setting the Sawtooth's Fiber-Port0 to low power mode when port0 is disable. Enhancements: ============= 1. Request: CQ52056,CQ52059 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 14.6.0.4 Dec 17, 2010 ---------------------------------------- 1. Problem: CQ50472 - 5718:Running Chariot with host and jumbo enabled will cause lower performance Change: Remove RxMaxCoalescedFramesDuringInt setting "0" specified in inf file and let device to use the default setting "1" spcified in driver code. Impact: None. Enhancements: ============= 1. Request: CQ51229 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: Adding support for new private OID "T3_OID_ASPEN_AHB_RESET". Change: When xD driver detects a global CR reset is necessary, it will send an OID to LAN driver if lan is enabled. Upon reception of the OID, the LAN driver CLEAR bit_23 of 0x36e4 (AHB Reset), then SET BIT_23 of 0x3e64. Impact: None. 3. Request: Reduce the performance impact of 5719 FIFO overflow (CQ50899) fix. Change: Set RDMA FIFO high and low watermarks to 1.5K with 2K MRRS Impact: None. 4. Request: CQ51755 - Disable LSO and Jumbo Frames for 5719. Change: Make code change as request. Impact: None. Version 14.6.0.3 Nov 23, 2010 ---------------------------------------- 1. Problem: CQ51084 - ping a Jumbo frame enabled host with length greater than 1500 cause receive side failed. Cause: Driver doesn't set consistent value to Receive MTU Size Reg (0x43c) and MAX_Frame_Size (located in RCB for Std Ring Reg 0x2458). The MTU Reg is used by EMAC to determine if device is going to receive or drop the packet. Max Frame Size is used for device to determine if the packet goes to standard ring or jumbo ring (by WDMA). For this particular case, ??ping xxxx ?Vl 1473?? will actually generate a packet with length 1519 (1473 + 42 header + 4 CRC). This packet will be received by device, but device is unable to do WDMA for this packet, because jumbo ring is not enabled. Then the packet makes device unable to receive packet anymore (even with standard size packet). Change: Make driver to set MAX_Frame_Size (in RCB for Std Ring 0x2458) correctly. Impact: None. 2. Problem: CQ51148 - 5719A0: Traffic stop when CLKREQ+L0s+L1 enabled + LSO disabled. Cause: RDMA Underrun Error occurs and device is not able to do RDMA for sending packet anymore. Change: Apply 8-byte coalesce workaroud for 5719 family devices. Impact: None. Enhancements: ============= 1. Request: Add NIC Power switching support for 5719. Impact: None. Version 14.6.0.2 Nov 19, 2010 ---------------------------------------- Enhancements: ============= 1. Request: Add EEE Control Policies. Impact: None. 2. Request: CQ51119 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 14.6.0.1 Nov 16, 2010 ---------------------------------------- 1. Problem: CQ50899 - Network connection will fail after sending a large ping packet (20000). Cause: The large packet is causing RDMA FIFO overrun on 5719. Change: Adjust device MRRS based on PCIE link speed and width. Impact: 5719 only. Version 14.6.0.0 Nov 12, 2010 ---------------------------------------- 1. Problem: CQ50639 - Aspen-B0-57785x-Cable Analysis get fail with EEE enabled and connected to EEE switch Cause: EEE should not be enabled on diag mode. Change: Disable EEE on on diag mode. Impact: None. 2. Problem: System still gets BSOD with bugcheck 0x9F while doing IO Stress test with surprised device removal. Cause: Packets are sent after surprised device removal. Change: Return all send packets immediately with error status after surprised device removal. Impact: None. Enhancements: ============= 1. Request: LAN Driver needs to force the Core Clock to 6.25MHz when the Ethernet Link is in 10Mb mode. Change: Apply the workaround on 57765/57785 B0 family devies. Impact: None. 2. Request: Adding APE support for 5719 family devices. Change: Make code change for driver to work with NCSI FW properly. Impact: None. 3. Request: Make driver not to halt RX CPU during S3/S4/S5. Cause: Cotopaxi has an issue that interal TLP clock derived from PCIE Serdes is not available while PERST# is low, this make device's WOL doesn't work. Bootocde has a workaround to switch clock source from PCIE Serdes to internal PLL (always running) when system is running in Vaux. Change: Make driver not to halt RX CPU during S3/S4/S5, so bootcode can run the workaround successfully. Impact: It's for 5719 family devices only. 4. Request: CQ50723, CQ50778 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 5. Request: Add EEE support for 5719 Change: Make code changes as requested. Impact: None. Version 14.4.0.7 Oct 21, 2010 ---------------------------------------- 1. Problem: CQ50487 - Random RX hang occurs when the RSS queues is set to 4 on OEM system with dual core and hyperthreading enabled. Change: Make the number of RSS queues enabled to be less or equal to the number of processors that are used for RSS. Impact: None Enhancements: ============= 1. Request: Enable GPHY Auto Power Down feature for 5761, 5718 and 5719 family devices. Change: Get GPHY APD enable bit (bit_14) from shared memory 0xd38 "Hardware Configuration" and enable GPHY APD accordingly. Impact: None. 2. Request: Remove 8-byte coalesce workaroud for 5719 family devices. Change: Don't coalesce SBDs (send buffer descriptors) if there is a SBD with length less or equal than 8 bytes. Impact: None. Version 14.4.0.6 Oct 13, 2010 ---------------------------------------- 1. Problem: CQ50157 - 5718 B0 Fiber : System is still able to wake up by Magic Packet when Wake Up Capability ??NONE?? is selected. Cause: Driver was reporting incorrect power management capabilities during initialization. Change: Make device does not support magic packet wake up with "NONE" selection. Impact: None 2. Problem: CQ50134 - 5718 B0 Fiber : WOL function with LAA failed on S5 mode. Cause: Driver doesn't repogram device's MAC address before system entering S5. Change: Reprogram MAC address for S5 WOL with LAA and switch adapter to Vaux before Vmain is removed. Impact: None 3. Problem: CQ50236 - 5718-B0 Fiber doesn't support PM offload.. Cause: The D0u Clock Policy register (0x3614) was set to 6.25MHz. This clock speed is too slow for serdes. Change: Change the D0u Clock Policy register to 60MHz in the PM offload firmware(v1.13). Impact: None 4. Problem: System gets BSOD with bugcheck 0x9F while doing IO Stress test with surprised device removal. Cause: Driver doesn't return all packets to upper layer. There are still packets pending in driver's tx active queue. Change: Free all pending tx pkts on SurprisedRemoved event. Impact: None Enhancements: ============= 1. Request: Modified EEE code for 57785/57765 B0. Impact: None. 2. Request CQ50288 - Update Product_Version String to 16.4.0 for Release 14.4 Change: Change the product version as required. Impact: None. 3. Request: CQ50262 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 14.4.0.5 Sep 29, 2010 ---------------------------------------- 1. Problem: CQ49993 - Sawtooth B0 :5718 Fiber-No link in 2K3/2K8R2 but fiber already connected to 5718 Cause: The way to detect the PHY selection for Sawtooth A0 is a workaround method and should not be used for Sawtooth B0. Change: Check bit8 in reg 0x5b4 to determine the PHY selection. Impact: None 2. Problem: CQ49644 - 5718: Binding a virtual network will cause BSOD Cause: Driver was using incorrect number for send rings when system has more than 16 CPUs. Change: Limit the maximum send ring's number to 16. Impact: None 3. Problem: CQ49979 - Bootcode: PM offload - doesn't respond MAC address when PM-offload enabled with otp. Cause: The PM Offload firmware is expecting the Tx Mbuf headers to be initialize. This is done by the bootcode but not done by OTP or SB. Change: Tx Mbuf headers is initialized by PM Offload firmware(v1.12). And driver doesn't need to clean up Tx Mbuf for PM offload. Impact: None. Enhancements: ============= 1. Request: Add support for 5719 family devices. Change: Merge code from the branch for 5719 family devices. Version 14.4.0.4 Sep 16, 2010 ---------------------------------------- 1. Problem: CQ49528 - NDIStest6.5 MPE gets BSOD with bugcheck 0x9F Cause: Driver was getting *obsolete* Rx Std BD Consume Index from status block #0 while collecting Rx packets from Rx Std Ring, when there were some packets received in Rx Ret Ring #1 - #4 and device was generating status block #1-#4 update for incoming packets. Change: Move CQ42690 fix into Tigon3_DisableAllStateMachines() as a robust solution. Impact: None 2. Problem: NDIStest6.5 VMQ Test (vmqpnptest) gets BSOD with "LargeSizeRxRing" enabled Cause: The ring size in VMQ RCB registers is not set correctly. It should be 2048 instead of 512. Change: Change code to setup the ring size correctly. Impact: None. 3. Problem: CQ45594 - Sawtooth - Power Util. does not come down after runing traffic with EEE enabled Cause: When bit6 is set in EeeMode(0x36b0) register, NIC send producer ring index gets corrupted which prevent the chip going into EEE mode. Change: Don't set bit6 in EeeMode(0x36b0) register Impact: None. Version 14.4.0.3 Sep 14, 2010 ---------------------------------------- Enhancements: ============= 1. Request: CQ49725 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: Disable MMRR for Swatooth B0. Impact: None. 3. Request: Modified EEE code for Sawtooth B0. Impact: None. Version 14.4.0.2 Aug 27, 2010 ---------------------------------------- 1. Problem: CQ49169 - 5718: Unable to pass ping traffic after initial driver install. Cause: OS doesn't handle affinity for MSI-X interrupt properly, device MSI-X interrupt is asserted on the wrong CPU and this makes driver doesn't service interupt for Rx RSS correctly. It happens only when driver is uninstalled and then installed. It doesn't happen with driver is disabled and then enabled. Change: Set affinity policy for interrupt in inf file to make OS handle affinity for interrupt correctly. Impact: None. 2. Problem: CQ49529 - 5718 fiber: System is unable to wake up with all WOL modes. Cause: Driver incorrectly configures PHY for enabling Ethernet@WireSpeed when serdes interface is used. This makes device lose link while system entering S3/S4/S5. Change: Make driver does not apply Ethernet@WireSpeed code when serdes interface is used. Impact: None. 3. Problem: A NS Multicast Ethernet packet test in WLK 1.6 KeepAlive tests failed. Cause: The promiscuous mode bit was cleared by PM offload firmware. Change: Fix in PM offload firmware v1.11 Impact: None. Enhancements: ============= 1. Request: Disable TSS. Impact: No TSS support. Version 14.4.0.1 Aug 12, 2010 ---------------------------------------- 1. Problem: CQ49289 - Sawtooth A0:5718-Port 1 was unable to wake up by ping packet when system enter to S3/S4 mode Change: Driver side fix: Enable APE share memory write and set APE status to WOL if WOL is enable. Impact: None. Version 14.4.0.0 Jul 28, 2010 ---------------------------------------- Enhancements: ============= 1. Request: CQ48376, CQ48530 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request CQ48518 - Update Product_Version String to 16.0.0 for Release 14.2 Change: Change the product version as required. Impact: None. 3. Request: Restore EEE from driver advanced properties for the 14.4 driver release Change: Make inf change as request to restore EEE from driver advanced properties. Impact: For 57765/57785 family devices only. 4. Request: Restore 5717/5718/5724 support for 14.4 driver release Change: Make inf change as requested. Impact: None. 5. Request: Enable Multiple Memory Read Request (MMRR) feature for 5717/5718/5724 B0 devices. Change: Make driver not to set bit_24 of register 0x4800 which is for disabling the MMRR function. Note: MMRR is still disabled for A0 devices. 6. Request: Driver doesn't clear reg 0x6c [9:7] for 57765/57785 family devices and let bootcode have control for it. Change: Make change as requested. Impact: None. Version 14.2.0.5A Jun 06, 2010 ---------------------------------------- 1. Problem: CQ44340 - OEM system: Text console redirection issues Cause: Driver was turning off the serial port function if it was on. Change: Do not turn off the function. Impact: None. Enhancements: ============= 1. Request: CQ47918 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: CQ47940 - remove 802.3az EEE from driver advanced properties for 5717/5724. Change: 5717/5724 doesn't support EEE, make inf change as request. Impact: None. 3. Request: CQ46793 - Remove 5717/5718/5724 support from 14.2 driver release Change: Make inf change as requested. Impact: None. 4. Request: Remove EEE from driver advanced properties for the 14.2 driver release Change: Make inf change as request to remove EEE from driver advanced properties. Impact: For 57765/57785 family devices only. Version 14.2.0.5 May 21, 2010 ---------------------------------------- 1. Problem: CQ47563 - After resuming from S3, enabled/disable DASH fw through bmcc command cause SUT system abnormal. Cause: Driver is not aware that DASH is enabled/disabled at runtime, so driver can't make APE status update for correct driver state. Change: Implement new change for driver make APE status update for driver state change. Also, driver needs BMAPI (v7.19.0 and after) to suspend/resume driver after DASH has been enabled/disabled, then driver will have chance to reread NIC configuration (shared memory 0xb58 bit_7) for determining if DASH is enabled or not. Impact: None. 2. Problem: CQ47596 - Rel14.2:NXI:Sawtooth:bcm5718 failed on NDISTest VMQ test in W2K8 R2 x64 Change: Don't return MSIXTableEntry when a VMQ is created even the spec say so and add OID_RECEIVE_FILTER_QUEUE_PARAMETERS support in NdisRequestSetInformation. Impact: None. 3. Problem: CQ47597 - Rel14.2:Sawtooth:bcm5718 failed on addresschange test in W2K8 R2 x64. Cause: The Mac Address was not changed when VMQ was enable. Change: Allow Mac address update and overwrite MMA mode when VMQ is enable. Impact: None. 4. Problem: CQ47591 - Rel14.2:Sawtooth:bcm5718 failed on glitchfreedevice test in W2K8 R2 x64. Cause: The failure was happened only if VMQ was enabled because RST was not supported by VMQ. Change: Add RST support on VMQ. Impact: None. Enhancements: ============= 1. Request: Support Sawtooth APE NCSI. 2. Request: Add Sawtooth TSS support. Version 14.2.0.4 Apr 30, 2010 ---------------------------------------- 1. Problem: CQ47185 - Sawtooth: Unable running 16proc when VMQ enable with Windows 2008 R2 Datacenter Cause: Default VMQ processors number for 1G is 8. Change: Add and set *MaxRssProcessors keyword to 16 in the inf file for VMQ to use 16 proc. Impact: None. 2. Problem: CQ47248 - Dash/ASF packets wakes up the system when XP enables WOL in the OS Change: Pass the WOL patterns to DASH firmware and let DASH firmware to handle WOL. Impact: Need to use DASH firmware V1.42.0.0 or later version. 3. Problem: CQ46602 - 57765 traffic broken when running chariot TX at 100M with jumbo enabled Cause: A control bit to enable/disable the Hw fix for CQ12429 is unexpectedly cleared by driver. Change: Enable the control bit back for fixing TxMBUF Lockup issue. Impact: None. Enhancements: ============= 1. Request: WMI event notification for 5761 DASH firmware. Change: The request is to enable immediate graceful power control and other remote management features in 5761. The DASH firmware will generate an interrupt to the host. The driver will not be able to tell from the status block that the interrupt is from the DASH firmware. So as part of the interrupt handling the driver will need to query register 0x6810 (RX CPU Event). If bit 0 (SW Event 0) is set then the driver will generate an WMI Event. Afterwards the driver will need to zero out this bit. Impact: The change works with 5761 with DASH firmware v1.42 or later. 2. Request: Fine tune dynamic VMQ HC. Version 14.2.0.3 Apr 09, 2010 ---------------------------------------- 1. Problem: The "Last Driver State" (shared memory 0xC04) is incorrect when driver is unloaded with no WOL. Change: Fix the code error to make driver report correct state when it's unloaded. Impact: None. 2. Problem: CQ46757 - Sawtooth: VMQ enabled and Chariots test on 8 GOS will only show two CPU running Cause: A VLan filtering flag check was not needed for MSFT VMQ WLK1.5 and was removed. Change: Put back the vlan filtering flag check which is needed for VMQs. Impact: None. 3. Problem: CQ46755 - Sawtooth: System hangs when enabled VMQ VLAN Filtering from Device Manager with Chariots test Change: Fixed a bug in the code that supported multi-vmq per vector. Impact: None. 4. Problem: CQ46641 - Vista x64 gets BSOD after resuming from S4. Cause: After resuming from S4, the Receive Return Ring Produce Index read form host memory is incorrect, this makes driver access to wrong Rx Buffer Descriptor and touch invalid memory address for buffer data. Change: Initialize all Receive Return Prod Indexes (of MSI-X status block) to 0 while reseting device. Impact: None Enhancements: ============= 1. Request: Add the following changes in driver in order to support customer who uses OTP implementation. 1) Driver needs to set bit 31 in register PCIE Physical Layer Register 0x1814 to disable clkreq in L2 to workaround a chipset bug. 2) Driver needs to clear bits [9:7] of PCIE Configuration Space in Function 0 Register 0x6C. This is needed to ensure the SD Host Controller does not lock up. 3) LAN Driver needs to force the Core Clock to 6.25MHz when the Ethernet Link is in 10Mb mode. This is needed in order to workaround a Hardware synchronization issue in the DMA Read Engine to prevent Fatal Error from stopping the transmitting logic. Note: the changes are for 57765/57785 family devices only Version 14.2.0.2 Apr 02, 2010 ---------------------------------------- 1. Problem: CQ46628 - WinFwUpg is unable to upgrade bootcode for 5718. Cause: Driver is not using the correct nvram strapping for recognizing the flash devices. Change: Update the nvram strapping map for the flash devices used by 5718. Impact: None Enhancements: ============= 1. Request: CQ44978 - Use *ReceiveBuffers registry key for NDIS6.x and NDIS5.x driver. Change: Replace the registry keys with MSFT definition keys. Impact: None. 2. Request: CQ46736 - remove fix for CQ39683, CQ40054 from Windows drivers (ndis5, Ndis6) Change: Make changes as request. These fixes may cause PCIE Serdes corruptions that result in device disappearances when the system resumes from S4 (CQ46606). These fixes are removed from driver and added into OTP selfboot. Impact: It's for 57780/57760 family devices only. Version 14.2.0.1 Mar 10, 2010 ---------------------------------------- 1. Problem: CQ45486 - 5718: observe a periodical spike when running chariot TX with LSO Disabled Cause: Driver was unable to switch the interrupt coalescing paramter set (from default to alternate) successfully. The alternate set of parameters is intended to make device generate certain numbers of interrupts per second under heavy traffic. With unsuccessful switch and driver's dynamic interrupt coalescing enabled, driver stays with default parameters set and driver will try to do interrupt coalescing setting switch every 60 seconds when device's interrupt rate is high. This causes throughput to drop a little bit and user will see the periodical spike in chariot graph. Change: Fine-tune Tx interrupt coalescing parameter (with MSI-X/RSS enabled and LSO disbaled) to make driver switch to and stay with alternate interrupt coalescing parameter set successfully. Impact: None. 2. Problem: CQ45808 - VMQ: X64_0x3B_VRF_b57nd60a+4124a running NDISTest6.5 vmqstresstest Cause: Since Sawtooth can only set one HDS LookaheadSize. There was an assertion if two VMQs had different LookaheadSize. Change: Dynamically update the HDS LookaheadSize and always allocate Lookahead buffer to the max LookaheadSize for VMQ rx buffers. There are also many changes for MSFT WLK 1.5 VMQ tests. Enhancements: ============= 1. Request: Enable Sawtooth bit16, 17, 18 in reg 0x70 for bmapi diag tests. Impact: None. Version 14.2.0.0 Feb 25, 2010 ---------------------------------------- 1. Problem: CQ45854 - BrcmMgmtAgent causing audio glitch during audio playout. Cause: The read/write NVRAM OIDs acquired a spin lock which made them run on irq dispatch level. Change: Remove the unnecessary spin lock for these OIDs. Impact: None. 2. Problem: CQ46066 - 5721:watch dog timer time out when the OS deploy job which is running where setup is restarting the machine stating "setup will continue after restarting" Cause: A dpc come after the driver shut down. Change: Don't server the dpc after the driver shut down. Impact: None. Enhancements: ============= 1. Request: CQ45484 - b57driver needs to add support for 5724. Change: The previous change in v14.0.0.6 is incomplete. Not only 2 parts IDs in inf files, Driver needs to make other changes to work with 5724. ex. Get ASIC revison from correct offset based on 5724's device ID. Impact: None. 2. Request: Restore CQ45685, CQ46108 changes for 14.2 driver release Change: Make inf change as request. Note: CQ45685 - Remove EEE from driver advanced properties for the 14.0 Gold driver CQ46108 - Remove Sawtooth Support from 14.0 Driver Version 14.0.0.7A Feb 22, 2010 ---------------------------------------- Enhancements: ============= 1. Request: CQ46108 - Remove Sawtooth Support from 14.0 Driver Impact: None. Version 14.0.0.7 Feb 09, 2010 ---------------------------------------- 1. Problem: CQ45796 - 57781/57765 no link after system resume from S1/S3 mode with SB code. Change: We have an issue in the SB ROM code which require a 10ms delay after seeing the reset signature (~KevT) in Shared Memory 0xB50 to workaround the issue. Impact: None. Version 14.0.0.6 Feb 05, 2010 ---------------------------------------- 1. Problem: CQ45244 - Link Flaps when EEE is enabled on SUT2, but not on SUT1 Cause: Some bits in EeeMode reg are set by default Change: disabled all EEE related bits in EeeMode reg and clear PHY 1000TX/100Base-Tx EEE advertise for Sawtooth if EEE mode is not enable. 2. Problem: CQ45444 - Tx NQS is filtering packets when opcode does match for TCP Payloads. Cause: For element filter Element-Header 4 "Start of TCP/UDP Payload, else IP Payload, else Ethernet Payload", the current driver design will check on both TCP payload and IP payload and filter out the packet if any one of them matches. Change: Make driver's TX NQS filter works like device's RX NQS filter - when packet contains IP payload and TCP payload, driver will examine NQS filter against TCP or UDP payload only. Impact: None. 3. Problem: CQ45666 - 57765x-system hanged when run Diagnostic test at 100MF/100MH with ASF enabled Cause: During MAC loopback test in BACS diagnostic testing, there is a racing condition which causes driver to free a spin lock which is not acquired yet. The deadlock makes system hang. Change: Make code change to prevent driver running into the racing condition. Impact: None. 4. Problem: CQ45662 - ASPEN(BACS): Diagnostics tests are not suspended for Aspen/57761/57781 adapter . Cause: The rx standard consumer index from status block is not correct when the driver is suspended. Change: Force a status block update and stop the hardware to make driver get the most updated index. Impact: None. Enhancements: ============= 1. Request: CQ45418 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: CQ45498 - Please add the following OEM 4-part IDs for 57760 platforms in Release 14.0. Change: Added IDs Impact: None. 3. Request: CQ45484 - Sawtooth:b57driver need to add b5724 support. Change: Added IDs Impact: None. 4. Request: CQ45685 - Remove EEE from driver advanced properties for the 14.0 Gold driver Change: Make inf change as request to remove EEE from driver advanced properties. Impact: None. Version 14.0.0.5 Jan 15, 2010 ---------------------------------------- 1. Problem: When upgrading to the EEE enabled driver. Going from version 14.0.0.4 to version 14.0.04A. We could see the EEE property, however both the disable and enable values were missing. After a system reboot, we could see them. Cause: OS can't stick on the default value of EEE property right after driver upgrade. Change: Add a workaround to force OS to stick with EEE default value after driver upgrade. 2. Problem: CQ45268 - 5718: System will link at 1G when put system in S3/S4/S5 mode. Cause: The fix for CQ44614 has assigned real/correct GPHY ID for 5718 copper interface. However it has a falw which makes part of driver code (ex. LM_ForceAutoNegBcm540xPhy()) is not executed and it causes problem. Change: The driver code is executed with new 5718 GPHY ID for copper interface. Impact: None. 3. Problem: CQ44927 - Sawtooth:TCP SYN v4/v6 can't wake up when PM offload enabled. Cause: The address of wake-up pattern has been moved to 0x24000 in Sawtooth. Change: Use the correct address of wake-up pattern for Sawtooth with PM offload firmware v1.07. Impact: None. 4. Problem: CQ45152 - sawtooth: PLLpowerdown and CLKREQ. Cause: This is a A0 hardware issue that is Sawtooth does not allow PLLPowerdown in L1 to be enabled if CLKREQ is also enabled. Change: Workaround by if CLKREQ is not enabled, driver needs to enable device L1 PLLPowerdown. 5. Problem: Driver failed on DTM 1c_kernelcalls test Cause: Driver has incorrectly made a call to DbgBreakPoint() with free version driver. Change: Remove DbgBreakPoint() from free version driver. Enhancements: ============= 1. Request: CQ45261 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: CQ45271 - Disable gigabit capability for specific OEM platform. Change: Make inf changes as requested. Impact: None. 3. Request CQ45290 - Update Product_Version String to 15.0.0 for Release 14.0. Change: Change the product version as required. Impact: None. 4. Request 57765/57785 "DMA Read/Write Control Register" access (offset 0x6C) Change: Make change for driver to program bit 21:19 for "DMA Write WaterMark" only. For other bits, let bootcode to control it. Impact: None. 5. Request: Change the Copyright information to include 2010 for all SW modules Change: Change the Copyright information to include 2010 in related files. Version 14.0.0.4A Jan 11, 2010 ---------------------------------------- Enhancements: ============= 1. Request: Add an advanced property entry to enable EEE for 5717/5718/57765/57785 family devices, and have the setting default to disabled. Impact: None. Version 14.0.0.4 Jan 08, 2010 ---------------------------------------- 1. Problem: CQ45036 - NDIS Driver 14.0.0.3: BACScli run diagnostic and cable analysis test failed. Cause: The fix of CQ43457 has a bug which doesn't detect pending number of indicated rx packets correctly. Change: The count in IoRef struct should be 2 instead of 1 without pending indicated rx packet. Impact: None. 2. Problem: CQ45009 - Bacscli: BSOD occurs wihle performing PHY loopback on 5704 with latest driver. Cause: During continuous PHY loopback test, Bacscli will pass T3_OID_SET_LINE_SETTINGS to make driver setup GPHY for loopback mode or normal mode repeatedly. In some particular condition, Bacscli may pass the OID to driver for starting PHY loopback test while driver is still servicing the Link Change interrupt for the normal mode requested by Bacscli last time. This makes driver to free up a spinlock which is not acquired yet, and it makes system BSOD. Change: Adding a delay in driver before servicing T3_OID_SET_LINE_SETTINGS to let driver finish the DPC for servicing the link change interupt. Impact: None. 3. Problem: CQ45090 - System gets BSOD (bugcheck 0x7C) while changing speed/duplex to 100M-auto under EEE. Cause: The timer for EEE function to assert LPI (Low Power Idle) is fired due to the link up/down event while driver is going to halt. Change: Cancel the EEE timer when driver is unloaded. Impact: None. 4. Problem: CQ44614 - 5718 Fiber: Flow Control does not work when set to "Auto" in W2K8sp2. Cause: Driver is not using correct PHY address for accessing Serdes GPHY. It makes device unable to get correct Flow Control setting of link partner while doing Auto-Negotiation. Change: Use the correct PHY address while driver is accessing Serdes GPHY. Impact: None. 5. Problem: CQ45110 - The interrupt/sec counter does not go down noticealby with interrupt moderation enabled. Cause: Driver is still using default interrupt coalescing settings when interrupt moderation is disabled. With interrupt moderation enabled, driver has an implementation for dynamic interrupt coalescing which will switch the interrupt coalescing settings from default to alternate when traffic is busy. So under some conditions, driver will stay with default settings with interrupt moderation enabled. This makes the interrupt number look the same when interrupt moderations is disabled. Change: Disable interrupt coalescing completely when interrupt moderation is disabled. Impact: None. 6. Problem: CQ45051 - 5718/57765: Running 1 session cc32 is sluggish. Change: Adjust default interrupt coalescing setting to improve the performance. Impact: None. 7. Problem: CQ45129 - 57765 : Glitchfreedevice test (in WLK NDISTest6.5) failed on Win2K8R2 x64 with MSI-X enabled Cause: Driver doesn't pass RST (Receive Side Throttle) parameter while calling UM_Dpc() from UM_DpcMsi() when MSI-X is enabled. This makes driver's function for indicating Rx packets is not aware that RST is enabled and it indicates all packets it has received and causes test failed. Change: Fix the error to make sure RST paramter is passed to UM_Dpc(). Impact: None. Enhancements: ============= 1. Request: EEE LPI is enable only if EEE PHY negotiation success. Impact: The change is for 57765/57785 and 5717/5718 family devices only. 2. Request: Add GPHY Green Mode support for 5717/5718/57765/57785 family devices. Change: Whenever link is at 1G and cable length is less than 10m, driver will enable device GPHY Green Mode for saving power. Version 14.0.0.3 Dec 18, 2009 ---------------------------------------- 1. Problem: CQ44534 - Sawtooth: Need to add ARP/NS offload support Cause: 5718's ARP/NS offload support was missed in the b57nd60a.inf file. Change: 5718's ARP/NS offload support is added in the b57nd60a.inf file. Impact: None. 2. Problem: CQ43457 - specific OEM Management Port w/ NX1 controllers hangs and panics system during SW upgrade Cause: The driver can't be suspended after firmware upgrade because some rx packets never return back to the driver and causes specific OEM's heart beat timer timeout. Change: Return failure status for this case. Impact: Cause FW upgrade program return non-zero exit code. 3. Problem: CQ44866 - 5718: The link speed is 100M when put system to S5 mode with NVRAM WOL enabled. Cause: The link speed should be 10M while system is in S5 with WOL speed set to LSA. However, the additional power-switching operation added for CQ44688 fix in the device reset routine has caused an unexpected reset after Vmain has been removed when system is in S5. Change: Remove the unnecessary power-switching in the driver reset rountine. Impact: It's for NIC design type only not for LOM. 4. Problem: CQ44894 - Switch Flow control doesn't work correctly while system boots into OS Cause: Driver doesn't do GPHY Auto-Negotiation while it's loaded with cable connected. This makes switch (with pause frame setting = AUTO) unable to determine device's pause frame ability when link is up. Change: Make driver to do GPHY Auto-Negotiation while it's loaded with cable connected. Impact: None. 5. Problem: CQ44864 - NDISTest6.5 (WLK1.5) fails with glitchfreedevice test on BCM5787M under Win7 x86 Cause: Driver has an optimization code in DPC for handling rx packets which it will contine to check in a loop to see if there is new incoming rx packet. If there is any new packet coming in, it will continue to indicate rx packets to upper layer. This makes driver indicate packets over the number (per DPC) specified by the RST (Receive Side Throttle) parameters. Change: Disable the optimization code while RST is enabled/running. Impact: None. Enhancements: ============= 1. Request: CQ44826 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: Enhanced change for EEE function to prevent link drop during heavy traffic. Impact: The change is for 57765/57785 and 5717/5718 family devices only. Version 14.0.0.2 Dec 05, 2009 ------------------------------ 1. Problem: CQ44688 - Device doesn't switch from Vaux to Vmain while either port is enabled from both ports are diabled. Cause: Driver doesn't switch device power source from Vaux to Vmain while device is disabled and then enabled. Change: Make sure device is on Vmain whenever driver is loaded. Impact: It's for NIC design type only not for LOM. 2. Problem: CQ44702 - The link speed is 100M after system entering S1/S3/S4 mode while Power Management is disabled. Cause: The bootcode set the link speed at 100M when Vmain goes away is due to the wol enable bit is set in the NVRAM. The bootcode will honor the wol enable bit in nvram is due to no wol_signature in shared memory offset 0xd30. Change: Make driver to setup wol signature correctly when wol function is enabled. Impact: None 3. Problem: CQ44692 - Sawtooth: Hyperv-VMQ: BSOD with 7E while assign 8 different VALN ID to GOSes. Cause: It was caused by the assertion of not supporting vlan filter on vmq default queue. Change: Add vmq vlan filter support for default queue. Impact: None 4. Problem: CQ42316 - During Factory X64 download, Active directory scripts are not downloading. Cause: The Netlongon service starts before network is ready. The reason why netowrk is not ready is due to an additional GPHY reset added during code merge for 5785, this extra GPHY reset makes device take longer time to link up while driver is loaded. Change: Make the GPHY reset for 5785 only, not for other devices. Impact: None Enhancements: ============= 1. Request: Adding support for 57765/57785 ASIC GPHY ID. Change: GPHY MII reg 0x2 = 0x0362, GPHY MII reg 0x3 = 0x5e40. Impact: None. 2. Enable PM offload for Sawtooth. 3. Support EEE PHY. Version 14.0.0.1 Nov 27, 2009 ---------------------------------------- 1. Problem: CQ44600 - System gets BSOD when run no link load/unload on 5718 Fiber port 2. Cause: The bugcheck code (7c) shows that there is a timer event fired after driver is halted. It is related to timer "AutonegRetryTimer" driver uses for Fiber interface only. Change: Prevent driver from scheduling new timer event when driver is halted. Note: None 2. Problem: CQ44650 - 5718: WOL fail to wake from S3(Standby) and S4 (Hibernate) using Ping. Cause: The wake up patterns are not programmed correctly for 5718. Change: Correct the error to make sure the patterns are saved in the correct place. Note: None 3. Problem: CQ44586 - 5718: System halt (BSOD) while installing driver on specific OEM system. Cause: Driver (for 64-bit OS) will generate 2 DWORD Memory Write while accessing APE Host Registers. However, device does not support Memory Write with 2 DWORD. So device will generate ERROR_NONFATAL message to rootcomplex and set bit_15 (Completer Abort Status) of Uncorrectable Error Status Register (0x104). Change: Prevent driver from generating 2 DWORD Memory Write while working with 64-bit OS. Impact: None 4. Problem: CQ44443 - 5718: When system enters S3, device gets link at 100Mbps while doing WOL negative test. Cause: Driver for dual ports NIC design needs to make handshake before doing power-switching, only one driver instance needs to do the power switching. The current driver code will make twice power switching for NIC, this causes an unexpected reset after Vmain is removed. Then bootcode will be reloaded and configure link speed to 100Mbps instead of powering the device with no link (when WOL is not needed). Change: Make driver to handle power-switching for device with NIC design properly (by using APE Ctrl register 0x08 bits[19:2] for dual-port message exchange). Impact: None. Enhancements: ============= 1. Request: CQ44669 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 14.0.0.0 Nov 19, 2009 ---------------------------------------- 1. Problem: CQ44266 - 5761 (with DASH enabled) has low chariot thruput result under WinXP. Cause: The code for NQS (Network Quarantine Service) is incorrectly executed while NQS is disabled in DASH. Change: Make driver to check if NQS is enabled or not before running the code for NQS. Note: None Enhancements: ============= 1. Request: CQ44349, CQ44542 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: CQ44417 - Remove OID_GEN_MEDIA_DUPLEX_STATE code from NX1 NDIS driver Change: Remove OID_GEN_MEDIA_DUPLEX_STATE from driver's supported OIDs list. Impact: None. 3. Request: Add support for 57765 family devices. Change: Merge code from the branch for 57765 family devices. 4. Request: Add support for 5717 family devices. Change: Merge code from the branch for 5717 family devices. Version 12.4.0.2A Oct 27, 2009 ---------------------------------------- Enhancements: ============= 1. Request: CQ44219 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 12.4.0.2 Oct 11, 2009 ---------------------------------------- 1. Problem: 57760/57780 fails on FwCfg 1G loopback test. Cause: The GPHY Green Mode is enabled when device is linked at 1G speed and it causes FwCfg unable to receiving packets during loopback test. Change: Make driver not to enable GPHY Green Mode while making external loopback test. Note: None 2. Problem: CQ43851- Device disappears after multiple iterations of copy/compare test on specific OEM system. Cause: Due to design limitations, sometimes L1 exit transition does not cause the serdes pll to resume normal operation. When this happens the LOM will not be able to response to PCIE transaction and may be removed from the PCIE enumeration tree. Change: Implement the workaround to disable Pll Powerdown in L1 by writting 0x7080 to register offset 0x7d54 afer every chip reset. Note: It's for 57760/57780 family devices only. Enhancements: ============= 1. Request: CQ44014 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 12.4.0.1 Sep 28, 2009 ---------------------------------------- 1. Problem: CQ43465 : Under network stress test in Windows 2008R2, the LOM will disconnect within 10 minutes. Cause: During ISR, NDIS 6.20 driver calls the NdisMQueueDpcEx function to schedule DPC calls on CPUs. Under rare condition (ex. the CPU serives the interrupt is very busy) and it causes the DPC (scheduled for another CPU) start to run immediately before the ISR finished, this messes driver's count for pending DPC and it causes the interrupt is not enabled anymore. Change: Move the code (calls to NdisMQueueDpcEx) to end of ISR to resolve the race condition. Note: None 2. Problem: WLK1.4 RTM : Plug and Play Driver Test BSOD in Win2k8 R2 IA64 Cause: During PNP test, device will be removed and the memory space (bit_1 of reg 0x04) is cleared. When driver is trying to do register access through address (BAR + register offset), it causes system BSOD with bugcheck code 0x124. Change: Make driver not to touch any register after receiving "Surprise Removal" Event Notification from NDIS. Also make driver to de-register interrupt, cancel timers and free resources in MiniportHaltEx function. Impact: None Enhancements: ============= 1. Request CQ43619 - Update Product_Version String to 14.2.0 for Release 12.4. Change: Change the product version as required. Impact: 2. Request: CQ43834 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 12.4.0.0 Sep 10, 2009 ---------------------------------------- 1. Problem: CQ43026 - b57vista: RSS function doesn't work when enabled. Cause: The structures NDIS_RECEIVE_SCALE_PARAMETERS (specifies the RSS parameters) are different between NDIS 6.20 and earilier then NDIS 6.20. The formats of indirection table are different as well. These make driver doesn't handle OID_GEN_RECEIVE_SCALE_PARAMETERS properly and the device RSS function is not configured correctly. Change: Modify driver code to handle the new structure correctly while compling with Win7 DDK. Note: None Enhancements: ============= 1. Request CQ42957 - NQS Transmit Filter does not filter IP Payload Change: Implement the change as request. Impact: None 2. Request CQ43472 - Disable CQ35234 WAR for specific OEM platform. Change: Make inf change to disable CQ35234 workaround for specific OEM systems. Impact: None Version 12.2.2.1 Aug 06, 2009 ---------------------------------------- 1. Problem: Win7 fails GlitchFreeDevice in Ndistest 6.5. Cause: The fix for CQ42470 introduced a code error that makes RST doesn't work properly. Change: Fix the code error. Impact: None. Version 12.2.2.0A Aug 04, 2009 ---------------------------------------- Enhancements: ============= 1. Request Use standardized INF keywords for PM Offload descriptions. Change: Make inf changes to use "ARP offload" and "NS offload" accordingly. Impact: None Version 12.2.2.0 July 31, 2009 ---------------------------------------- Enhancements: ============= 1. Request CQ42903 - Update Product_Version String to 14.1.1 for Release 12.2a. Change: Change the product version as required. Impact: None Version 12.2.0.5 Jul 27, 2009 ---------------------------------------- 1. Problem: CQ42211 - B57Driver is unable to filter packets with NQS (Network Quarantine Service). Cause: Driver is lack of NQS support. Change: Add NQS support in driver to filter out tx packet specified by DASH firmware. Note: The function needs to work with DASH v1.22.0.0 or after and it's for 5761 family devices only. 2. Problem: CQ42470 - System gets blue screen (with bugcheck D1) during sleep stress tests. Cause: When driver is processing RST in DPC and the value returned from NDIS marco "NDIS_CURRENT_PROCESSOR_NUMBER" is larger than RSS rings number, this will cause driver to unexpectedly assign NULL value to another member (called pRxJumboBdVirt) in driver's low device block structure. Then system gets BSOD when driver is running the code with pRxJumboBdVirt when system is resuming from Standby. Change: Ensure RstParam in driver's low device block is never accessed with a subscript that is too large. Impact: None. 3. Problem: CQ42667 - PM Offload doesn't work when it's enabled. Cause: IPv6 Neighbor Advertisement packet is broken with uninitialized TX Mbuf header field. Change: Make driver to zero out TxMBuf from 0x9E80-0x9FFF for PM Offload Firmware. Impact: None. Enhancements: ============= 1. Request: CQ42236 workaround - Driver needs to implement the following procedures before any GRC or CPU reset 1. write 0x7d54 with 0x7080 (to disable l1 pll pwrdwn), then 2. do a dummy read of 0x7d54 to flush the write, then 3. issue GRC or CPU reset. Change: Make driver change as requested. Impact: It's for 57760/57780/57790 family devices only. 2. Request: CQ42769 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 12.2.0.4 Jul 13, 2009 ---------------------------------------- 1. Problem: CQ42109 - Win7: 57780 can not do arp respone for a long time with PM offload enable. Cause: The RxMBuf memory size allocated for the CiLai PM Offload firmware to store its data was too small. The firmware data was overflowing into the RxMBuf area used for received packets thus causing a corruption of the firrmware data. Change: Increased RxMbuf memory used by the CiLai PM Offload firmware to store its data. Impact: None. 2. Problem: CQ42223 - Win7 - Flow Control Setting is disabled with the Gold 12.2 Driver. Cause: The inbox driver has disabled the settings per MSFT's request. When upgrading driver , the disabled settings persists, instead of changing to Auto. Change: Make inf change to delete the Flow Control setting and reset the setting to Auto. Impact: None. 3. Problem: CQ42247 - 5761(LOM) : PM offload dies after few iterations Cause: PM Offload firmware was locking/unlocking thw SW arbitration bit during initialization to access the NVRAM. Apparently there was some timing issue with the driver on OEM system during the downloading of the firrmware causing the SW arbitration bit to stay lock thus causing the firmware not to run. Change: Resolution is to remove access to NVRAM since firmware does not need any info from NVRAM. Impact: None. Enhancements: ============= 1. Request: CQ39683: Cilai detects Receiver Error when the Link Transition between L0s/L0 Change: workaround: shorten the delay of the electrical idle signal from serdes a. write register 0x7e70 bit [4:0] with 0x0c during device initialization or device reset b. write all ones to register 0x110 (correctable error status). 2. Request: CQ40054: PLL power down common mode voltage glitch on Tx Change: workaround: use low-power transmitter mode during device initialization or device reset changed PCIe SerDes register values to the following a. Register 0x15 in block 0x8610 = 0x47b. b. Register 0x1A in block 0x8010 = 0x4038. 3. Request: CQ41813 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 4. Request: Add Windows 7 Power Management Offload support for 57760/577805/7790 Change: Support for this new feature is added in this driver version. Impact: The PM Offload firmware is now bound to the driver, so any update will require a driver spin moving forward. Also, PM Offload is not compatible with ASF, so will be disabled if ASF is enabled. 5. Request: CQ42216 - Update friendly name for OEM projects Change: Change device friendly name as request. Impact: None. Version 12.2.0.3 May 28, 2009 ---------------------------------------- 1. Problem: CQ41216 - Win7-NetBIOS name query cannot wake up system Cause: Driver doesn't set "end of wol comparison stream" correctly when pattern size is an odd numer. Change: Make driver to handle pattern size (odd number) correctly. Impact: None. 2. Problem: CQ41352 - BCM5754M fails WOL on ICMP PING test Cause: When pattern size is less than 64 bytes and byte mask is less than 8 byte, driver will try to set "end of wol comparison pattern" at 64 bytes (the minimun ethernet packets) but it never happens. Without setting "end of wol comparison stream", device is unable to detect wol packet correctly. Change: Make driver to set "end of wol comparison pattern" correctly. Impact: None. 3. Problem: CQ41284 - Win7-PM offload test failed -5705 failed to send arp response when system stayed in sleep mode with PM Offload enabled. CQ41280 - Win7- TCP SYN v4 / v6 cannot wake up system, but it works fine when PM offload is disabled. Cause: The 5705 has an errata which prohibits using the internal CPU instruction cache. There is some register contention between the driver and the PM Offload firmware Change: The firmware in this version disables the instruction cache. The driver is changed to load the PM Offload firmware only once power down chip setup is done. Impact: None. 4. Problem: CQ41583 - Win7 PM Offload (both ARP and NS) stops working after 3 responses Cause: The 5761 device was not configured properly for PM Offload. Change: Configured the device properly. Impact: None. Enhancements: ============= 1. Request: CQ40123 - Add ability for NX1 driver to determine non-brcm iSCSI boot environment. Change: Implemented iBFT logic to search for iBFT in both ACPI table as well as low memory region. Impact: None. 2. Request: CQ41460 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 12.2.0.2 May 14, 2009 ---------------------------------------- 1. Problem: CQ40338 - IPChecksumOffload Keyword missing in NDIS 6.0 driver. Change: Add the standardized registry key "*IPChecksumOffloadIPv4" in INF files as requested. Impact: None. 2. Problem: CQ41003 - System gets BSOD on NDISTest 6.0 - 1c_registry test Cause: During 1c_registry test, the registry key "RSSRxRing" is set with invalid value and this makes driver's RSS code can't work properly. Change: Adding boundary check to protect driver from using invalid registry key values. Impact: None. Enhancements: ============= 1. Request: Driver needs to disables L1 PLL power down when Ethernet link is 10 half duplex or 100 half duplex, in additional to disabling CLKREQ. Change: Set bit 7 (L1 PLL Powerdown Disable) of MAC register 0x7d54 for 10H and 100H. 2. Request: Initial RSS V2 support. Version 12.2.0.1 May 04, 2009 ---------------------------------------- 1. Problem: CQ40782 - NDISTest6.5 (WoL and PM) failed on WolWin7Pattern test under Window 7. Cause: Driver is setting END of WOL stream according to (Mask Size * 8), instead of Pattern Length. When the wol pattern length is less than (Mask Size *8), device is unable to recognize the packet as a valid packet and it won't wake up system. Change Make driver to set END of WOL stream according to WOL pattern length. Impact: None. Enhancements: ============= 1. Request: CQ40735 - NX1-Need to add PM offload support Windows7's. Change: Make inf change to add ARP & NS PM offload registry keys for devices which support PM Offload. Impact: None. 2. Request: Add support for Windows 7 Receive Side Throttling. Change: Support for this new feature is added in this driver version. Impact: None. Version 12.2.0.0 April 20, 2009 ---------------------------------------- 1. Problem: CQ40017 - DASH: does not show correct driver version in Software Inventory. Cause: There is a problem with the new 4-part NDIS driver versioning scheme (e.g. 12.0.0.5). The existing APE shared memory interface definition only supports 3-part driver version numbers (e.g. 12.0.0). Change: A new field has been created for an 8-bit driver build number (e.g. 12.0.0.n) to be supported. Impact: None 2. Problem: CQ40241 - APE shared memory initialized/updated incorrectly on Vista-x64 and XP-64. Cause: Driver uses function RtlZeroMemory() to initialize APE shared memory while it is loaded. However, the function will make x64 OS to generate invalid "Memory Write" to device when the virtual address (mapped to device APE shared memory) is used as input address. Similiar issue happens when driver is trying to copy message data (eg. date/time) from application/BMAPI to APE shared memory using NdisMoveMemory(). Change: Use other addressing method to make OS generate "Memory Write" with correct data while driver is trying to initialize/update device's APE shared memory. Impact: None 3. Problem: CQ39984 - WinFWUPG (57760 with ATMLH742) after upgrade asf, run "crc" will get checksum failed. Cause: Driver does not handle eeprom page write correctly. When page write crosses the page boundary the data word address will roll over and the previous data will overwritten. Change: Make driver to handle eeprom page write properly so that eeprom is programmed correctly. Impact: None 4. Problem: CQ40503 - 5761/5761s: The LED shows Green in S5 mode when WOL speed set 10Mb and DASH enabled. Cause: Driver doesn't inform DASH firmware WOL speed correctly and this makes DASH set link speed to 10Mbps (eg. Lowest VAUX Link Speed setting in mancfg) when VMain is removed. Change: Driver to update DASH with correct WOL speed in driver's shutdown routine. Impact: None Enhancements: ============= 1. Request: CQ40309 - Change WoL Speed to default to LSA option for OEM Platforms Change: Make inf change as request. Impact: None 2. Request CQ40377 - For Release 12.2, Please Update Product_Version String for NDIS 5.1 and later Drivers to 14.1.0 Change: Change the product version as required. Impact: None 3. Request: Enhance OTP programming reliability. Change: Driver needs to implement the following steps whild doing OTP program. 1) To use external clock for the programming. 2) Try to reprogram OTP bit up to 16 times if the OTP is stuck at 0. 3) Do OTP init command immediately after a OTP write. Version 12.0.0.6 Mar 19, 2009 ---------------------------------------- 1. Problem: CQ40065 - Driver Load/Unload BDOD 0x50 on Vista. Change: Moved 5761 WOL speed processing to the driver's shutdown code path. Impact: None Version 12.0.0.5 Mar 18, 2009 ---------------------------------------- 1. Problem: CQ40001 - OEM is not able to enable Jumbo Frame on the 5715 devices via NCU Change: The application NCU is adding rxmtu registry key when the user enables Jumbo Frame. Driver needs to implement a workaround to accommodate the rxmtu key. Impact; None. Version 12.0.0.4 Mar 16, 2009 ---------------------------------------- Enhancements: ============= 1. Request: CQ39405 - Add "Lowest Speed Advertised" equivalent option to Soledad management firmware. Change: Pass the information about WOL Speed to firmware before driver is unloaded. Impact: None. Version 12.0.0.3 Mar 09, 2009 ---------------------------------------- 1. Problem: CQ39796 - doing boot code program in WinFWUpg will show error message. Cause: Driver has incorrect configuration values for EEPROM which makes driver treat EEPROM as a flash device. This make driver can't write correct data into EEPROM and cause checksum error. Change: Correct code error to make driver use correct configuration when EEPROM is used. Impact: None Enhancements: ============= 1. Request: Do not write OTP bits if the bits have been set already. Change: Read data from OTP first and then compare the "orignal data" and "data to write", if the bits in "data to write" have set already, driver will skip the OTP write. Impact: None. 2. Request: CQ39715, CQ39767 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 3. Request: CQ39595 - Disable CQ35234 GPHY workaround for specific OEM systems. Change: Make driver to skip CQ35234 workaround for specific OEM systems. Impact: Without CQ35234 workaround, 5784M/5764M may not assert Wake signal one the first Wake packet received. This happens when device is connected to some particular switches. 4. Request: CQ39628 - Enhance advanced properties to allow the user to define the amount of 'RSS queues' Change: For NX1 RSS capable devices, an option in the driver advanced property will allow the user to change the amount of RSS queues in increments of the power of 2. Impact: None. 5. Request: CQ39839 - Change OEM's INF to hide LSO option for specific 5715 devices. Change: Add hidden registry key to disable LSO option in OEM inf files. Impact: None. 6. Request: CQ39523 - add min/max/default option for Tx + Rx buffers Change: Create an advanced driver option that allows the end user to select three different options for the amount of Tx + Rx buffers based on 2 part ID's. Impact: The change is for NX1 PCI-E based Server chips only: 5721, 5722, 5723 and 5714/15 Version 12.0.0.2 Feb 23, 2009 ---------------------------------------- Enhancements: ============= 1. Request: Apply CQ37120 workaround "Extended L1 entry time to 4ms" for specific test chip. Chnage: Program reg 0x7d28 with 0x182FFFA for the device. Impact: None 2. Request: CQ39534 - keep original service name in OEM specific inf files. Change: Restore the service name from b57xxx back to q57xxx. Impact: None. 3. Request: Driver needs to do register read at CPMU block (0x36xx) to return the same value twice before returning the read value. Change: Follow the request while handling register read at CPMU block. Impact: The workaround is applied on 57760/57780/57790 only. 4. Request: Set bit 0 in the GPHY Expansion Register 75 to address the Template issue. Change: Make sure bit_0 of expansion register 75 is set during GPHY setup. Impact: This change applys to 57760/57780/57790 only. 5. Request: CQ39644 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 12.0.0.1 Feb 13, 2009 ---------------------------------------- 1. Problem: CQ39171 - (57760) Execute OOB Management in BACS but screen draw back. Cause: Driver is using incorrect nvram strapping map and programming sequence for the flash device. Change: Use the correct nvram strapping map and programmiing sequence for STM45PE10/STM45PE20. Impact: None Enhancements: ============= 1. Request CQ39443 - Ndis 5.x and 6.0 driver should have product version key set to 14.0.0 in 12.0 Change: Change the product version as required. Impact: None 2. Request CQ39534 - OEM requesting for b57xxx driver starting with release 12.0 Change: Make change on OEM specific inf files as OEM request. Impact: None. 3. Request: CQ38522 - Enable OTP programming capbility for 57760/57780/57790 Change: Implement private OIDs so that application can get access to OTP through BMAPI. Impact: None 4. Request: Enable Jumbo Frame (3K) support for 5761/5761E Change: Make 5761/5761E be able to process Jumb0 Frame packets. Impact: None Version 12.0.0.0A Feb 04, 2009 ---------------------------------------- Enhancements: ============= 1. Request: CQ39140 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. Version 12.0.0.0 Feb 02, 2009 ---------------------------------------- Enhancements: ============= 1. Request: CQ39100 - Disable L1 ASPM when the connection speed is 10M/100M bps for OEM specific systems. Change: When the link speed is 10M/100Mbps, driver will clear L1 ASPM bit in Link Control Register. Impact: None. 2. Request: CQ39285 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 3. Request: Add support for Windows 7 Power Management Offload Change: Support for this new feature is added in this driver version. Impact: The PM Offload firmware is now bound to the driver, so any update will require a driver spin moving forward. Also, PM Offload is not compatible with ASF, so will be disabled if ASF is enabled. Version 11.9.0.0 Dec 24, 2008 ---------------------------------------- 1. Problem: CQ36053 - Windiag shows "Device failed to negotiate link after 15sec" during PHY reset test Cause: Some device may generate "Link Status Change" interrupt immediately after powering down GPHY. This causes driver to run LM_SetupPhy() in UM_DPC() for servicing GPHY interrupt, while the application may send another T3_OID_PHY_ON to driver for powering on GPHY. This causes two driver threads to access GPHY at the same time, and it may cause GPHY content programmed with incorrect value. Change: Disable interrupt before powering down GPHY. Impact: None 2. Problem: CQ37900 - Link down issue on some OEM platforms. Cause: The driver did not always start a software timer used to establish link on devices equiped with a Serdes. Change: Always start this timer when appropriate. Impact: None 3. Problem: Remove a lock in HaltAdapter() which caused BSOD reported by MSFT. Cause: Driver was calling NdisMSleep() while holding a spin lock and this causes assertion failed: KeGetCurrentIrql() < DISPATCH_LEVEL Change: Make driver not to acquire a spin lock while calling NdisMSleep(). 4. Problem: CQ38082 - 3rd Party Filter Driver with our NXI Device Causes Loss of Connectivity Cause: Some packets were being held by a filter driver. There were insufficient packets available to have our batching logic send them to NDIS when received or to put newly free packets to the chip. Change: Added code to keep from running out of packets. Also if Jumbo Frames are supported, do not batch packets to NDIS or the chip, but process them immediately. Impact: None. Enhancements: ============= 1. Request: CQ38142,CQ38351,CQ38505 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 2. Request: Add support for 57760 A1 device. Change: Make driver to keep all SW A0 workarounds for A1. 3. Request: Add GPHY Green Mode support for 57760. Change: Whenever link is at 1G and cable length is less than 10m, driver will enable device GPHY Green Mode for saving power. 4. Request: Suppress 5761 "PCI Simple Communication Controller" device's yellow bang. Change: Make inf change to hide device (Device ID=0x160A) from Device Manager. 5. Request: Failing to deallocate memory after call to NdisAllocateMemoryWithTagPriority in UM_Initialize. Change: Freeing the allocated memory (for pUmDevice) when UM_SetAdapterRegAttribute() return failure. 6. Request: Bypass IPSEC info in NBLs and the codes if IPSEC offload is not supported. Cause: Driver is trying to handle IPSEC NBL on 5780 which doesn't support ipsec offload and then it causes bugcheck (code 0xD1). Change: Add safe guard code to bypass IPSEC info in NBLs if device doesn't support IPSEC offload. Version 11.8.0.0 Oct 24, 2008 ---------------------------------------- 1. Problem: CQ37690 - System cannot transmit packets by file sharing under Windows2008. Cause: When system is sending packets with LSO and TCP/IP checksum offload enabled, the initial tcp checksum field of packets coming from upper layer is not correct. Driver has a workaround to initialze the tcp checksum field with zero value, but this workaround didn't apply on 5780. Changes: Apply the tcp checksum workaround on 5780. Impact: Resolve CQ37690. 2. Problem: CQ38035 - jumbo frame size is reported differently by 14 compared to actual value for 5703/5704 Cause: Introduced while fixing CQ34267 and CQ33947 Change: Backing out both above CQ fixes. The implementation before these changes was correct, and was also consitant with NXII. The RxMtu the driver exports excludes the Ethernet frame header. Impact: The Jumbo packet size observed on the wire will be larger than the user specified value by 14 bytes, which is the Ethernet header size. Enhancements: ============= 1. Request: CQ37512 - Wrong friendly name for 5787M device. - Add 4 part ID support for specific OEM. Change: Correct friendly name and add IDs Impact: Resolve CQ37512. 2. Request: CQ37758 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: Resolve CQ37758. 3. Request: CQ37959 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: None. 4. Request: Adding support for 57760 Change: Modify code to add support for 57760. Impact: None. Version 11.7.1.0 September 29, 2008 ---------------------------------------- 1. Problem: BSOD is seen while running the cable diagnostics Cause: The driver is referencing a data structure which is not initialized for plain Vista (no service pack) Change: Restriced access to this data structure only when it has been initialized properly. Impact: None Version 11.7.0.0 September 22, 2008 ---------------------------------------- 1. Problem: CQ37395 - IPSec offload does not work while configured as ESP Enabled. Cause: Driver doesn't configure IPsec offload capabilities correctly in NDIS_IPSEC_OFFLOAD_V2 structure when "ESP enabled" is selected. Change: Modify driver to report IPsec offload capabilities correctly. Impact: None 2. Problem: CQ37260 ?5785 should not be in b57 driver. It should be in k57. Cause: This device is in the b57 inf for development purposes only. Change: Remove this device from the b57 infs. Impact: None 3. Problem: CQ37241 - B57driver unable to modify OOB settings through BACS3 or Bmcc. Cause: There was a bug in the driver NVRAM access routines. Change: Remove a coding error which could corrupt the NVRAM content. Impact: None 4. Problem: CQ37293 - Ndis 5.x and 6.0 driver should have product version key set to 12.8.0 in 11.7. Cause: Incorrect product version in the infs. Change: Corrected the infs. Impact: None 5. Problem: CQ37185 - b57win:There are a lot of error events in event viewer when loading the b57win driver. Cause: An intermittent hardware error is not handled correctly. Change: Handle the error properly. Impact: None Enhancements: ============= 1. Request: Remove SHA_1 (IPSec authentication algorithm) support for 5761S/5761SE. Cause: SHA_1 algorithm is not required. Change: Make driver not advertise the support of SHA_1 algorithm. Impact: None 2. Request: CQ37321 - Add 4 part ID support for specific OEM. Change: Added IDs Impact: Resolve CQ37321. Version 10.102.0.0 September 4, 2008 ---------------------------------------- 1. Problem: CQ37048 - There are a lot of error events in the system event log when loading the driver. Cause: Driver fails to obtain APE mutex w/ non-5761 devices and then writes an entry to system error log. However, the APE mutex is only available for 5761 and the function should apply to 5761 devices only. Change: Call the function to obtain APE mutex only for 5761 devices. Impact: None. Enhancements: ============= 1. Request CQ37065 - Ndis 5.x and 6.0 driver should have product version key set to 12.8.0 in 11.7 Change: Change the product version as required. Impact: None 2. Request Remove IPSEC support for 5761/5716E for 11.7 Change: Make inf changes to not support IPSEC for 5761/5761E Impact: None. Version 10.101.0.0 Aug 25, 2008 ---------------------------------------- 1. Problem: CQ36482 - 5761E looses net work connectivity after resuming from S3:DTM test Cause: CQ31830 workaround has a bug that it doesn't restore CPMU LinkSpeed1000 register properly when system resuming from sleep. And this workaround was incorrectly applied to 5761/5671E B0 and it causes CQ36482. Change: CQ31830 workaround should be applied for 5761/5761E Ax only because 5761E B0 have already fixed CQ31830. Driver has removed CQ31830 workaround for 5761/5761E B0. Impact: None. 2. Problem: CQ36025 - NIC b5761m shows only 10Mbps speed when system boots from iSCSI boot with BootCode v3.57. Cause: Durinng iscsi boot, driver will do an additional chip resest in driver initialization. But driver does not wait for bootcode completing initialization and it continues to get eeprom info from shared memory. Then driver gets zero value from shared memory and this make driver assign wrong PhyId for 5761 GPHY and program 5761 GPHY incorrectly. Change: Make driver to wait until bootcode finishing initialization while doing additional chip reset. Impact: None. 2. Problem: CQ36161 - Win 7_inbox driver - Per Msft requirement WOL features should not advertised in the Advanced network properties.. Cause: This feature is adverstised in the inf. Change: Updated the inf. Impact: None. 3. Problem: CQ33519 revisited - 5784M-LoopBack(Ext) test Fail Device doesn't get linked and test application can't receive enough packets during the test. Change: Disable Link Speed/Link Aware/Airplane Power Mode and avoid setting PHY trim registers while in external loopback test. Made the change for 5761 as well Impact: None 4. Problem: IPSec related failures with newer DTM Change: Various dode changes to correct the failures. Impact: None 5. Problem: CQ36558 - IBM requesting non-Fiber name for the 5714S (already have 4 part match) Change: Updated the infs. Impact: None Enhancements: ============= 1. Request: Added support for Mazama LSI Change: Extensive code changes to support this new device Impact: None. 2. Request: CQ36164 - Add 4 part ID support for specific OEM Change: Added IDs Impact: Resolve CQ36164. 3. Request: CQ36432 - Add 4 part ID support for specific OEM Change: Added IDs Impact: Resolve CQ36432. 4. Request: Add 2 part IDs for 5761S/5761SE in 11.7 release Change: Make inf change to add 2 part IDs for 5761S/5761SE. Impact: None 5. Request: Restore IPSEC functionality support for 5761/5761E/5761S/5761SE Change: Changed the infs to enable IPSec. Impact: None 6. Request: OEM requesting non-Fiber name for the 5714S Change: Make inf change to apply OEM's requirement. Impact: None 7. Request: CQ36447 - OEM DT/MB :Add 4 parts ID to Windows driver for Hanks and Paltrow Change: Updated the infs. Impact: None 8. Request: Add support for 5761S Change: Updated the infs. Impact: None 9. Request: Need NVRAM access optimisations for 5761 Change: Performed requested optimisations to minimize NVRAM wear. Impact: None 10. Request: CQ36770 - Add 4 part ID for OEM systems Change: Updated the infs. Impact: None Version 10.100.0.B June 26, 2008 ---------------------------------------- 1. Problem: IA64 generic legacy devices are no longer installing Cause: The IA64 generic inf is corrupted Change: Fixed the inf Impact: None Version 10.100.0.0 June 25, 2008 ---------------------------------------- 1. Problem: 35969: DASH - Incorrect CIM_SoftwareIdentity?Network_Controller_Driver values Cause: The NDIS6 driver isn't initializing the SHMEM_HOST_WR->driver_id value correctly Change: Initialize the SHMEM_HOST_WR structure correctly Impact: None 2. Problem: CQ35948: Bad TX performance BX630S2 W2K8 Cause: The Tx code path runs out of credit on some of the processors, so aborts without sending anything. This is occuring because a software timer failed to schedule the DPC responsible for calculating this credit. The DPCs were not scheduled for more than 4 procs on x86 systems, and 8 procs on x64 systems. This driver version fixes this problem Impact: None Version 10.99.0.0D June 24, 2008 ---------------------------------------- 1. Problem: CQ35185 Cause: Please Remove all PCI IDs on the NDIS 5.1 and 6 Driver INF Other Than The Ones Currently Supported. Change: Changed the infs as requested (NDIS6 only) Impact: None Version 10.99.0.0C June 24, 2008 ---------------------------------------- 1. Problem: IPSec offload is still enabled for 5761 devices Cause: Driver still reports IPSec hardware capabilities during initialization. Change: More inf changes to make driver doesn't advertise IPSec suppport. Impact: IPsec offload is no longer available Version 10.99.0.0B June 23, 2008 ---------------------------------------- 1. Problem: IPSec offload is still enabled for 5761 devices Cause: The infs were not changed to disable IPSec. Change: Changed the infs to disable IPSec. Impact: Isec offload is no longer available Version 10.99.0.0 June 19, 2008 ---------------------------------------- 1. Problem: CQ35947 - B5764/B5761/B5784-When setting WOL speed to 10mb system will be come unresponsive and lose link. Cause: The CQ35234 workaround is incorrectly executed when driver is loaded with WOL speed setting as 10mb. There is no problem when WOL speed is set to Lowest, Auto or 100mb. Change: Correct driver's abnormal behavior and make driver to apply the CQ35234 workaround precisely. Impact: None. 2. Problem: 35434 - Win7 Inbox: Please Remove OEM Pnp (product_string) from the driver INF. Cause: Change: Changed the inbox inf as requested. Impact: None. 3. Problem: 35447 - Windows 7 Inbox: Please Make INF Header consistent with NXII Driver INF. Cause: Change: Changed the inbox inf as requested. Impact: None. 4. Problem: 35449 - Windows 7 Inbox: Incorrect "Provider" String under [Version) in Driver INF. Cause: Change: Changed the inbox inf as requested. Impact: None. 5. Problem: 35450 - Windows 7 Inbox: The Default Setting for Flow Control Should be Disabled per MSFT Requirements. Cause: Change: Changed the inbox inf as requested. Impact: None. 6. Problem: 35464 - Windows 7 inbox: Power Management Feature (WOL) Not Disabled in the INF per MSFT Requirement Requirements. Cause: Change: Changed the inbox inf as requested. Impact: None. Version 10.98.0.0 June 10, 2008 ---------------------------------------- 1. Problem: CQ35239 - 5784m stops passing traffic when running copy compare at 10 Mb half duplex and ASPM L1 w/ clkreq. Cause: The clock glitch that occurring with L0->L1->L0 transitions causes device RDMA doesn't work normally. Change: Make driver to disable device's clkreq when linked at 10H or 100H as a workaround. Impact: Resolve CQ35239. 2. Problem: CQ35234 - 5784M/5764M will not assert Wake signal one the first Wake magic packet received. Cause: When device is connected to particular switch with specific PHY at 1G bps, with wol speed set to lowest speed, driver will program GPHY to advertise 10M bps support and restart auto-negotiation while system is going from S0 to S3/S4/S5. In the meantime, 100tx or 1000t idle sent from the link partner can confuse the local 10M bps polarity state machine, which in turn can corrupt the first 10Mbps packet received. Change: Make driver workaround to reset link porlarity state machine and restart auto negotiation. Impact: Resolve CQ35234. 3. Problem: CQ35297 - Soledad GPHY scripts. Cause: GPHY WAR applied to 5784 need to be applied to the 5761 and 5761E. Change: Implemented the WAR. Impact: None. Version 10.97.0.0B May 27, 2008 ---------------------------------------- 1. Problem: CQ35436 - Previous fix for this CQ overwrote some prior bug fixes Cause: Change: Restored the overwritten changes Impact: None. Version 10.97.0.0 May 23, 2008 ---------------------------------------- 1. Problem: CQ34764 - DASH - B5761-B0 failure to wake from an interesting packet and Magic packet when DASH enabled. Cause: DASH behaviors is different with ASF for WOL. So driver need to handle an interesting packet and magic packet like no ASF. Also there was a bug when restoring DASH setting after reset which caused WOL was not enable. Change: handling interesting packet and magic packet as no ASF for DASH. The boot code v3.53 or later are required for this fix. Impact: Resolve CQ34764. 2. Problem: CQ34764 - DASH - B5761-B0 failure to wake from an interesting packet and Magic packet when DASH enabled. Cause: DASH behaviors is different with ASF for WOL. So driver need to handle an interesting packet and magic packet like no ASF. Also there was a bug when restoring DASH setting after reset which caused WOL was not enable. Change: handling interesting packet and magic packet as no ASF for DASH. The boot code v3.53 or later are required for this fix. Impact: Resolve CQ34764. 3. Problem: CQ35436 - add changes for cq35021 and cq35105 to 11.4 branch. Cause: The changes were made to the 11.0b branch for this OEM. The request is to propagate the same changes to the 11.4 (main) branch. Change: Inf changes made. Impact: None. 4. Problem: CQ35315 - WinFwUpg: Fail to upgrade iSCSI firmware in 5761E/5761.. Cause: A programming error in the driver NVRAM routine was causing NVRAM corruption. Change: Corrected the affected routine. Impact: None. 5. Problem: CQ35313 - WinFwUpg: Failed to upgrade PXE firmware in 5761E/5761 Cause: A programming error in the driver NVRAM routine was causing NVRAM corruption. Change: Corrected the affected routine. Impact: None. 6. Problem: CQ35311 - WinFwUpg 5761E/5761 corrupt NVRAM. System restart will fail to boot Cause: A programming error in the driver NVRAM routine was causing NVRAM corruption. Change: Corrected the affected routine. Impact: None. Version 10.96.0.0 May 14, 2008 ---------------------------------------- 1. Problem: CQ34659- ndis6: Remove LSO option in driver property for 5703 and 5704 but not on previous driver Cause: The NDIS6 driver does not implement LSO for these chips, so there is no need to have the option in the driver advanced property page Change: Removed the LSO option from the infs for these chips. This is the second attempt at solving this problem. Impact: None. 2. Problem: CQ35339 - B5761-NDIS6.0 driver upgrade and disable will blue screen with 10.95.0.0 Cause: There is a code error while driver is trying to acquire/release APE GRC reset mutex before/after issueing a device GRC reset. Change: Correct the code error. Impact: Resolve CQ35339. Version 10.95.0.0 May 12, 2008 ---------------------------------------- 1. Problem: CQ34962 - 5784/5764/5761 system compatibility issue on particular OEM system. Cause: When BIOS sets root-complex's and device's Max Payload Size (MPS) to 256 bytes, device's MPS will be incorrectly set to 128 by driver, then device will report ERROR_FATAL and stop DMA when it makes Memory Read and receives completion packets larger than 128 bytes. Change: Make driver to keep device MPS setting during initialization. Impact: Resolve CQ34962. 2. Problem: CQ35105 - INF Service section is incorrect for specific OEM system. Cause: There is a typo in INF Service section for one OEM system. Change: Make inf change to correct services section string. Impact: Resolve CQ35105. 3. Problem: CQ34822 - Network traffic drops after SUT wakes up from S3/S4 while WOL is disabled. Cause: The reason why device doesn't pass traffic after system resuming from S3 (with "Allow computer to turn off xxx" is unchecked) is because the upper layer doesn't use the OID_OFFLOAD_ENCAPSULATION OID to set the task offload encapsulation settings of an underlying miniport, and this makes our driver fails to send certain packets which need driver/device to take care of checksum offload tasks. Change: Make driver to cache/restore the OID_OFFLOAD_ENCAPSULATION parameters across suspend/resume. Impact: Resolve CQ34822. 4. Problem: CQ34959 - Modify NDIS 6.0 driver WoL behaviour when the "allow the computer to turn off the device to save power" box is unchecked Cause: When driver's halt handler is called, driver enables device magic packet wol function according to nvram wol setting. Change: Make driver to take advantage of a HaltAction flag in the halt handler, then driver can use this flag to determine the reason why it's Halt handler is called and behave accordingly. Impact: Resolve CQ34959. 5. Problem: CQ34904 - B57Vista: DASH FW stops responding when the Windows driver is disabled Cause: The MacCtrl register is not programmed correctly when the driver transitions to S3/D3. Change: Program the MacCtrl correctly. Impact: None. 6. Problem: CQ35107 - In BACS enabling ASF and adjusting Speed&Duplex setting at the same will cause link loss Cause: The link detect timer was not restarted after BACS called T3_OID_DIAG_SUSPEND/T3_OID_DIAG_RESUME Change: Restart the link detect timer. Impact: Resolve CQ35107. 7. Problem: CQ35060-FJ - low chariot RX through is observed on the release 11.0b Vista amd64 driver, but not on previous driver Cause: The changes which caused low performance was only for 5788(NON-DAC) and there was a CQ35248 for it. The LM_IsAsicBondId5788 define was not correct which caused 5786 saw the problem. Change: Correct LM_IsAsicBondId5788 define. Impact: Resolve CQ35060. 8. Problem: CQ34659- ndis6: Remove LSO option in driver property for 5703 and 5704 but not on previous driver Cause: The NDIS6 driver does not implement LSO for these chips, so there is no need to have the option in the driver advanced property page Change: Removed the LSO option from the infs for these chips. Impact: None. 9. Problem: CQ34743 - MTU size needs to be 4 bytes larger with Management FW enabled Cause: The MtuSize register needs to be programed with a value larger by 4 bytes. We need this change to allow the firmware to process max size VLAN packets while the driver is running. Change: Increased the MtuSize register by 4 bytes. Impact: No impact. 10. Problem: DASH processor stalls when the driver applies a GRC reset while the DASH processor is also accessing the GRC reset register Cause: A LSI bug is causing this behavior. This driver implements the LSI recommended workaround. Change: The workaround requires the driver to acquire a mutex register before issuing the GRC reset. The driver also waits 10us before releasing the mutex after the GRC reset Impact: DASH firmware 0.96 or later is required for this fix to work. 11. Problem: CQ35248 - OEM system has a RX performance issue w/ 32bit Vista driver v10.62.1.2. Cause: 5788 does not support dual address cycles and it cannot transmit a 64-bit address to a target device. So driver has a workaround to allocate DMA buffers under 4G for 5788. However, the cache type driver using for memory allocation is incorrect and this causes performance drop. Change: Make driver to use correct cache type while doing memory allocation. Impact: Reseolve CQ35248. 12. Problem: CQ33869 - 5704C has poor performance in WinPE 2.0 in a system with > 4 cores Cause: There are some scenarios, we can be asked to send continuously without having a chance to cleaning up the transmitted queue hence we are running out of UM_PACKET. Change: Clean up the tx queue if we see no UM_PACKET in the send path if we see no UM_PACKET instead of giving up Impact: Reseolve CQ33869. Enhancements: ============= 1. Request: CQ34665 - Add 4 part ID support for specific OEM Change: Added IDs Impact: Resolve CQ34665. 2. Request: CQ34272 - Change device reference name for specific OEM system. Change: Change device reference name specified by OEM. Impact: Resolve CQ34272. Version 10.94.0.0 April 24, 2008 ---------------------------------------- Enhancements: ============= 1. Request: Enable constant 500Khz MDIO interface speed regardless core clock frequency. Change: Change driver to set the enable bit in MII Mode register. Impact: The change applies to devices 5764M/5784M/5723/5761/5761E. 1. Problem: BSOD on IA64 with OEM specific teaming implementation and MMA (no CQ). Cause: There was an infinite loop in the driver's handling of this NDIS OID. Change: Fixed the looping code. Impact: None 2. Problem: The fix for CQ34762 had a bug. Cause: passed a wrong parameter to IsSoledadAbove(). Impact: The fix is required for boot code v3.50. Version 10.93.0.0 April 21, 2008 ---------------------------------------- 1. Problem: Ensure private OID buffer is not touched until signature is validated. Cause: Could cause DTM failure if buffer is modified when signature is invalid. Change: Move setting status until after signature is validated. Impact: None Version 10.92.0.0 April 19, 2008 ---------------------------------------- 1. Problem: CQ34762 - The system will casue blue screen when changed the bootcode setting on b5761e-B0. Cause: BSOD if accessing Soledad's PCI FunctionEventMask register. Change: Not touch the register if it is Soledad Impact: None. 2. Problem: 1c_ndisrequestcov may crash on newly added OIDs for new devices. Cause: Buffer size is incorrectly determined. Change: Change the driver to correctly detect the buffer size for affected OIDs. Impact: Fixed the BSOD on 1c_ndisrequestcov. Version 10.91.0.0 April 16, 2008 ---------------------------------------- 1. Request: Fix PreFast warnings on latest DDK Change: Fix PreFast warnings on latest DDK Impact: None Version 10.90.0.0 April 11, 2008 ---------------------------------------- 1. Problem: Dash support command line utility is unable to access NVRAM on Vista and W2k8. Cause: APE related OIDs are not advertised to NDIS through the supported OID list. Change: Added APE OIDs to supported OID list. Impact: None. Version 10.89.0.0 Apr 10, 2008 ---------------------------------------- Enhancements: ============= 1. Request: CQ34726 - Add 5723 support on all INF files for 11.4 release Change: Make inf change to add 2 part ID for 5723. Impact: None 2. Request: CQ34724 - Add 2 part ID for 5761e, 5761 on 11.4 release Change: Make inf change to add 2 part ID for 5761/5761E. Impact: None Version 10.88.0.0 Apr 09, 2008 ---------------------------------------- 1. Problem: CQ33583 - BSOD issue when Windows 2008 RC1 DDK tool is executed. Cause: 5704s generated hardware exception if Serdes was shutdown and alternate clock was used when going to D3. Change: Don't shutdown Serdes and not switch to alternate clock when going to D3. Impact: Resolve 33583. The change is only applied to 5704s with SubsystemVendorId 0x10cf and SubsystemId 0. 2. Problem: CQ34086 - B5761-A2 fails to wake from an interesting packet Cause: The latest 5761 NIC has a rework which swaps GPIO0 and GPIO2. Change: For 5761 NIC only, swap GPIO0 and GPIO2 while switching adapter to auxiliary power. Impact: Resolve CQ34086. 3. Problem: Need to use new DDK to compile the driver. Change: Use W2k8 RTM 6001.18000 DDK with Microsoft's patch kit to compile the driver Impact: Met Microsoft's requirement. 4. Request: CQ33891 - Add 4 part ID support for specific OEM Change: Added IDs Impact: Resolve CQ33891. Version 10.82.0.0A ** Inf Update Only ** April 2, 2008 ---------------------------------------- 1. Enhancement Request: Revert the default FlowControl setting for SUBSYS_03861014 and SUBSYS_03871014 back to "Auto". Impact: None. Version 10.82.0.0 March 28, 2008 ---------------------------------------- 1. Problem: CQ34467 - OEM system BSOD when running Copy/Compare test on Vista SP1 with 512MB RAM Cause: When system is with 512MB memory only, driver allocates only 64K for LSO coalescing buffer. There is a bug in handling coalescing pool wrapped around condition when 64K LSO coalescing buffer is used. BSOD happens while driver is accessing memory over coalescing pool boundary. Change: Make code change to handle wrapped around condition correctly. Impact: Resolve CQ34467. Version 10.81.0.0A ** Inf Update Only ** March 24, 2008 ---------------------------------------- 1. Enhancement Request: The default FlowControl setting for SUBSYS_03861014 and SUBSYS_03871014 should be enable. Cause: OEM request. Change: Delete the old FlowControl key and change the FlowControl default setting to enable. Impact: None. Version 10.81.0.0 March 20, 2008 ---------------------------------------- 1. Problem: CQ34365 - NX1 driver v10.80.0.0 does not let system goto sleep. Cause: IPMI heart beat workaround. Change: Disable IPMI heart beat workaround. Impact: None. Version 10.80.0.0 March 19, 2008 ---------------------------------------- 1. Problem: CQ34280 - q57 driver missing Jumbo params for 5704 Change: Added Jumbo params for 5704. Impact: Resolve CQ34280. Enhancements: ============= 1. Request: CQ34305 - Remove Soledad two-part ID's for 11.0b Impact: Resolve CQ34305. 2. Request: CQ34060 - WOL speed and RSS default options are incorrect for OEM system. Change: Make inf changes to have LSA option as the default and RSS enabled for OEM system. 1. Request: CQ34298 - Product version string for 4.4 should be 12.4.0 for NX1 NDIS6.0 and NDIS 5.x. Change: Changed the product version Version 10.79.0.0 March 14, 2008 ---------------------------------------- 1. Problem: CQ32118 - 5715s: Link status is not display correctly on blade servers Cause: This is the same as cq33671. Change: implemented the same fix for cq33671 as NDIS5 driver. Impact: None. 2. Problem: CQ31990 - 5761/5761E Missing EPA support for NDIS 6 amd64 driver Cause: The WOL speed setting for 5761/5761E is set to Auto in previous released driver. Change: Change WOL speed to "Lowest Speed Advertised" for EPA support. Impact: Resolve CQ31990. 3. Problem: CQ34001 - BSOD when VLAN enabled in iSCSI boot in W2k8 Cause: VLAN is not supported for iSCSI boot. Change: This problem is fixed after sync up the code to 10.7. Impact: None. 4. Problem: CQ32759 - BSOD when loading NDIS6 driver on IA64 systems Cause: Bugs in the macros the driver uses for register accesses are causing illegal bus accesses. The macros were also incorrect for x64 platforms. Change: Fixed the macros Impact: None. 5. Problem: CQ34146 - Remove 5723 2 part ID from 11.0b branch upon SW Lockdown Cause: Change: Removed the ID. Impact: None. 6. Problem: Replace the RxMtu keyword with *JumboPacket in OEM specific infs to conform to MSFT guidelines. Cause: Change: Made the replacement Impact: None. 7. Problem: CQ34267 - OID_GEN_MAXIMUM_FRAME_SIZE is returning a value of 1514 after changing default *JumboPacket mtu Cause: Mtu size for Jumbo packets in inf is changed to including Ethernet header. Change: Adjust the Mtu size accordingly. Impact: Resolve CQ34267. Enhancements: ============= 1. Request: CQ33581 - NX1: implementing NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB Impact: None. 2. Request: CQ33775 - VLAN ID maximum range should be 4094. Change: Limit VLAN ID maximum range to 4094 Impact: Resolve CQ33775. 3. Request: CQ33981 - IPSec offloading option should be removed in driver for release 11.0b. Change: Remove IPSec offload options for 5761/5761E. Impact: There is no IPSec offload support for 5761/5761E in this release. 4. Request: CQ34060 - Add 4 part ID support for specific OEM Change: Added IDs Impact: Resolve CQ34060. 5. Request: CQ34019/CQ34041 - Disable LSO support for specific OEM system Change: Make inf change to disable LSO for specific OEM system. Impact: Resolve CQ34019/CQ34041 Version 10.78.0.0 February 26, 2008 ---------------------------------------- 1. Problem: CQ33858 - Device loses connection while doing load/unload test. Cause: When driver is unloaded, driver does a GRC Reset. When the link doesn't come back immediately, CPMU will put MAC core clock into slower speed. This makes boot code to be reloaed and executed slower. This also makes driver exceed waiting loop. Finally, GPHY register corrupted because of driver and boot-code racing condition. Change: Change CPMU Clock Policy Registers to increase the Core Clock Speed before issue a GRC reset and restore these registers after boot code has completed initialization. Impact: Resolve CQ33858. 2. Problem: CQ33947 - Change *JumboPacket default MTU size to 1514 Cause: The OEM is requesting that we default our mtu size for *JumboPacket to 1514 and not 1500. Note that our driver has already 'raised' the mtu size to 1514 when it sees 1500 Change: Made the corresponding inf change to raise the default to 1514. 3. Problem: CQ32554 - Need NX1 ia64 driver parameters to comply with MSFT standards for NDIS6 Cause: There is a discrepancy between the MSFT and Broadcom naming convention as applied to the *FlowControl keyword. Change: Changed the BRCM naming convention to match the one MSFT mandates. 4. Problem: CQ32379 - Add 4 ID checking for new HP_BCS ia64 platforms Cause: Add new OEM ID to the IA64 infs. Change: Added new IDs. Version 10.77.0.0 February 22, 2008 ---------------------------------------- Enhancements: ============= 1. Request: CQ25155 - 5784M/5764M/5723/5761/5761E implementation of this CQ is done in hardware instead of the software implementation. Cause: New chip requiring different actions. Change: Activate hardware fix for this CQ in driver and not with code in the receive packet processing logic. Impact: New devices have hardware support for this fix that must be activated in the driver. 2. Request: Remove CQ33808 driver workaround for 5784M/5764M/5723. Cause: Change needs to be implemented before driver loads. Change: Remove driver workaround added in previous release. Impact: Bootcode v3.31 & selfboot patch v2.18 have the workaround to fix CQ33808. 3. Request: CQ33925 - add four part IDs for 5764M Cause: New IDs Change: Change appropriate INF files to reflect new four part IDs. Impact: Resolve CQ33925 4. Request: Merge 5761/5761E code from NDIS5.1 driver. Cause: NDIS6 driver must support full capabilities of the chip. Change: Add support for A.P.E. and BMAPI to NDIS6 driver. Impact: Completing support for 5761/5761E. 5. Request: Repair bugs found during 5761/5761E merge from NDIS5.1 driver. Cause: Changes were pended until merge was completed. Change: Have NDIS6 driver initialize 5761/5761E and perform runtime tests for actions required to support the chip the same as done in NDIS5.1 driver. Impact: Support for 5761/5761E NDIS6 and NDIS5.1 drivers is properly synchronized. Version 10.76.0.0 February 15, 2008 ---------------------------------------- Enhancements: ============= 1. Request: CQ33091,CQ33511,CQ33512,CQ32698,CQ33814,CQ33539 - Add new IDs for OEM. Cause: New IDs Change: Add new IDs Impact: Resolve CQ33091,CQ33511,CQ33512,CQ32698,CQ33814,CQ33539. 2. Request: CQ33710 - Set WOLSpeed to LowestSpeedAdvertise for specific OEM EPA enabled systems Change: Change inf files for specific OEM systems. Impact: Resolve CQ33710. Version 10.75.0.0 February 11, 2008 ---------------------------------------- 1. Problem: CQ33808 - BCM5784M: System hangs when user changes Device Property with clkreq enabled. Cause: Issuing a GRC reset with clkreq enabled is causing a global chip reset and PCI-E completion timer timeout. Change: When ClkReq and L0s/L1 ASPM are enabled, driver will clear ClkReq enable bit before doing GRC reset and restore it after GRC reset. Impact: Resolve C33808. Enhancements: ============= 1. Request: CQ33328 - Disable RSS by default for specific OEM systems. Change: Change inf files to disable RSS for specific OEM systems. Impact: Resolve CQ33328. 2. Request: Remove CQ33752 driver workaround. Change: Remove driver workaround added in v10.74.0.0 Version 10.74.0.0 February 7, 2008 ---------------------------------------- 1. Problem: Small fragments of less than 8 bytes cause transmit DMA failure. Cause: Under investigation. Change: Coalesce transmit buffers before submitting to the chip. Impact: Resolve issue for 5764M/5784M/5723/5761/5761E. Version 10.73.0.0 January 29, 2008 ---------------------------------------- 1. Problem: CQ33564 - BACS MAC loopback test fails when test is running without cable. Cause: Bootcode version after v3.23 has enabled GPHY DLL Auto Power Down by default. When there is no cable, GPHY DLL Auto Power Down starts to work and makes test fail. Change: Change driver to disable GPHY DLL Auto-Power Down when running MAC loopback test and then retore GPHY DLL Auto-Power Down Bit to original value. Impact: Resolve issue and this is for 5764M/5784M/5723 B0 only. Enhancements: ============= 1. Request: Add GPHY APD and GPHY DLL Auto-Power Down for 5764M/5784M/5723 B0. Change: Driver needs to read the share memory to determine how the GPHY Auto Power Down feature is enabled/disabled by the user. 2. Request: The GPHY workaround needs to be applied with the GPHY DLL Auto-Power Down Bit set. Change: Set GPHY DLL Auto-Power Down Bit before applying GPHY workaround and then restore GPHY DLL Auto-Power Down Bit to original value. Impact: This is for 5764M/5784M/5723 B0 only. Version 10.72.0.0 January 25, 2008 ---------------------------------------- 1. Problem: CQ33519 - 5784M fails at external loopback test fail. Cause: Device doesn't get linked and test application can't receive enough packets during the test. Change: Disable Link Speed/Link Aware/Airplane Power Mode and avoid setting PHY trim registers while in external loopback test. Impact: Resolve CQ33519 Enhancements: ============= 1. Request: CQ33328 - Add 4 part ID support for specific OEM Change: Added IDs Impact: Resolve CQ33328. 2. Request: Disable Link Speed/Link Aware/Airplane Power Mode while running MAC Loopback Test for 5764M B0. Change: Make driver to disable Link Speed/Link Aware/Airplane Power Mode while running MAC loopback Test. 3. Request: Implement CQ31680/CQ32765 CLKREQ workaround for 5764M/5723 Ax revision. Change: Clear bit_16 of register 0x7d00 and clear bit_29 of register 0x68A4. 4. Request: Enable IPV6 LSO support for 5764M/5784M/5723 Change: Make driver to advertise IPV6 LSO capability for 5764M/5784M/5723. 5. Request: GPHY earl-wake-dac mode must be enabled before MAC 10mb rx only mode is enabled. Change: Whenever driver issues a reset to the GPHY, GPHY early-dac-dac mode will be disabled. Driver needs to disable CPMU 10mb rx only mode before resetting GPHY. Then later driver can re-enable the 10mb rx only mode. It's for 5764M/5784M/5723 B0 only. 6. Request: Implement new GPHY Workaround for 5784M/5764M/5723 B0. Change: Driver reads workaround parameters from OTP Memory and then configures GPHY accordingly. 7. Request: Enable IPV6 RX Checksum Offload for 5764M/5784M/5723 Change: Make driver to advertise IPV6 RX Checksum Offload capability for 5764M/5784M/5723. Version 10.71.0.0 January 11, 2008 ---------------------------------------- 1. Problem: NDIS6 driver fails 1c_ioctlcoverage test. Cause: NDISTest is unable to query the OID : OID_GEN_SUPPORTED_GUIDS. Change: Make driver to report successful status while doing the query. Impact: Passing 1c_ioctlcoverage test. Version 10.70.0.0 January 11, 2008 ---------------------------------------- 1. Problem: CQ32991 - 5761 fails 1c_registry in ndistest 6.0 (Unable to restart driver after stopping). Cause: 1c_registry test is causing diagnostics code in driver to execute. Change: Remove diagnostics registry key and add code to disable LAP & LSP while doing internal DMA test. Impact: Resolve CQ32991 issue. 2. Problem: CQ32991 - 5761 fails 1c_registry in ndistest 6.0 (test stops at testing *SpeedDuplex). Cause: During 1c_registry test, the registry key *RSS is replaced with random/invalid data and this makes driver unable to be unloaded and 1c_registry can't start the next test *SpeedDuplex. Change: Adding boundary check to protect driver from using invalid registry key values. Impact: Resolve CQ32991 issue. 3. Problem: CQ32886 - Ndis6: SUT locks up when running cable analysis test while passing chariot traffic Cause: System hung while driver was trying to acquire a spin lock in UM_CheckForHang(). Driver was making two continuous main lock acquisitions. The first one came from UM_QueryInformation(), when BACS passed T3_OID_DIAG_SUSPEND to driver during the test. The second one came from UM_CheckForHang(), which was called by NDIS every two seconds. Change: Make driver doesn't acquire main lock in UM_CheckForHang while cable analysis is still running. Impact: Resolve CQ32886 issue. 4. Problem: CQ30853 - Soledad fails 1c_kernelcalls test script Cause: DbgBreakPoint() is used in free build driver Change: Remove DbgBreakPoint() from free build driver Impact: Resolve CQ30853 issue. 5. Problem: CQ30850 - Soledad fails 1c_wmicoverage test script Cause: The WMI method that ndistest is using does NOT return any class derived from Win32_PerfRawData class. It only returns ??normal?? WMI classes. However, the WMI class we provided is derived from Win32_PerfRawData class and it's used for graphing driver data to perfmon.exe along with some OS's provided perf data. Change: Create a registry key to control driiver to enable/disable WMI perf counts. Impact: Resolve CQ30850 issue. Enhancements: ============= 1. Request: Change the Copyright information to include 2008 for all SW modules Change: Change the Copyright information to include 2008 in related files. 2. Request: Implement driver workaround for 5764M GPHY related issues. Change: Add code changes for the workaround. Version 10.69.0.0 December 21, 2007 ---------------------------------------- 1. Problem: CQ32573 - Failed to resume normal speedlink after power saving mode. Cause: Device has a problem with logic that handles the automatic switching of the burst mode to non-burst mode when the core clock is switching from 62.5MHz to slow clock modes. Change: Disable WDMA Rx Accel mode to workaround this issue. Impact: Resolve CQ32573 issue. 2. Problem: CQ32692 - BSOD in Vista with driver while running common scenario stress Cause: Driver incorrectly cleans 5764M RX return ring producer index during system suspend/resume from sleep. This makes driver get stuck when OS is trying put system into sleep again. While OS is telling driver to put device into D3, driver can't complete IRP (IRP_MJ_POWER / IRP_MN_SET_POWER) and this causes system BSOD with Bug check - DRIVER_POWER_STATE_FAILURE. Change: Make driver to behave correctly - not clean 5764M RX return ring producer index during system suspend/resume from sleep. Impact: Resolve CQ32692. 3. Problem: CQ33072 - NDIS6 driver fails infTest in WLK 1.1 Cause: Inf strings under [ParamsNT8021p] section are non-localizable. Change: Replaced hardcoded text with localizable strings. Impact: Resolve CQ33072. 4. Problem: CQ33122 - NDIS6 driver fails 2c_mini6rsssendrecv in Ndistest 6.0 of WLK 1.1 Cause: There is a logical error in code and it makes driver can't disable RSS as ndistest expected while doing RSS disabling test with zero "Hash Function Information" and non-zero "Indirection Table Size". Change: Correct the logical error to make driver disable device RSS function successfully. Impact: Resolve CQ33122. 5. Problem: CQ32886 - Ndis6: SUT locks up when running cable analysis test while passing chariot traffic Cause: NDIS may returns rx packets later under heavy traffic and driver will still insert the returned packets into rx producer ring after state machines have been halted. This make driver falsely think it's missing some rx packets and make driver fall into a waiting loop. Besides, this also causes driver to mess up it's rx producer index. Change: Collect rx packets from producer ring and insert them back to rx free list. Impact: Resolve CQ32886. Enhancements: ============= 1. Request: CQ32277, 32378, 32379 - Add 4 part ID support for specific OEM Cause: Added IDs Change: Added IDs Impact: Resolve CQ32277, 32378, 32379 issues. 2. Request: CQs: 32719 - Add 4 part ID for specific OEM. Cause: Change: Resolve CQ32719 3. Request: Add support for 5764M A2 devices. Change: Make driver to keep all SW A0/A1 workarounds for A2 Version 10.68.0.0 November 15, 2007 ---------------------------------------- 1. Problem: CQ32292 - 5906M : Link speed in networking tab of Task Manager is 1G when disconnected Cause: Driver reports incorrect Maximum Link Speed (1G bps) for 5906M. Change: Make driver to report correct Maximum Link Speed (100M bps) for 5906M. Impact: Resolve CQ32292 issue. 2. Problem: CQ32128 - Bacs3: 5755 fails Cable Analysis and causes bacs to hang Cause: Some codes added for debugging purpose makes driver falsely report device hange to OS. Then OS makes calls driver's Um_Reset() to reset device during Cable Analysis test. Change: Remove the codes that is for debugging purpose originally. Impact: Resolve CQ32128 3. Problem: CQ32396 - 5723 - Add 2 part ID support on all INF files Cause: Missing 2 part ID. Change: Added the requested 2 part ID. Impact: Enhancements: ============= 1. Request: Add support for 5764M A1 devices. Change: Make driver to keep all SW A0 workarounds for A1 2 Request: Disable Link Speed Mode and Link Aware Mode while running MAC Loopback Test for 5764M A0 & A1. Change: Make driver to disable Link Speed and Link Aware mode while running MAC loopback Test. 3. Request: For CQ31702 - SW needs to Configure LED Mode default to MAC Mode instead of GPHY Mode Change: Configure LED Mode default to MAC Mode for 5764M A0 & A1. Version 10.67.0.0 Nov 01, 2007 ---------------------------------------- 1. Problem: CQ32140 - Ceasar II - Incorrect advertising checksum offlload capability for IPv6 in driver settings. Cause: The original inf has incorrectly advertised 5764M IPv6 checksum offload capability (Rx & Tx enabled). Change: Change inf to advertise correct IPv6 checksum offload capability (TX enabled only) for 5764M. Impact: Resolve CQ31240 issue. Version 10.66.0.0 Oct 29, 2007 ---------------------------------------- 1. Enhancement request CQs: 31811,31923 - Add 4 part ID for specific OEM & Enable Estar feature. Cause: Change: Added new ID / Estar functionality Version 10.65.0.0 Oct 11, 2007 ---------------------------------------- 1. Problem: CQ31830 - System hangs when put it into S3 and S4 or disable the adapter with WOL disabled. Cause: When WOL is not needed, driver will power down GPHY for saving power. When GPHY powers down, GPHY DLL stops provinding clock to mac core and this causes memory read completion timeout. Change: Make mac core clock switching before powering down GPHY. Impact: Resolve CQ31830 issue. Enhancements: ============= 1. Request: CQ31815 - Blue screen on boot if no network cable attached. Change: Remove codes that enables GPHY APD (Auto Powerdown) in driver. The GPHY APD is now handled by the CPMU when Link Aware is enabled. 2. Request: CQ31619 - 5784M A0 failed DMA Write Engine Lock Up when Link Speed Mode Enabled with 10Mb Traffic and Core clock is 1.5MHz Change: Slow down the core clock to 6.25Mhz in 10mb, Link Aware Mode or 10mb Link Speed Mode for 5784M A0. Version 10.64.0.0 Oct 11, 2007 ---------------------------------------- 1. Enhancement request CQs: 31811,31923 - Add 4 part ID for specific OEM & Enable Estar feature. Cause: Change: Added new ID / Estar functionality Version 10.63.0.0 Oct 11, 2007 ---------------------------------------- 1. Enhancement request Support for 5761 controllers. Change: Merged 5761 support code from 5761 branch. Merged unified driver support code from 5761 branch. 2. Enhancement request CQs: 31633 - Add 4 part ID for specific OEM & Enable Estar feature. Cause: Change: Added new ID / Estar functionality 3. Enhancement request Support 5784 controllers. Change: Merged 5784 support code from branch. Version 10.62.0.0 September 17, 2007 ---------------------------------------- 1. Bug Fix CG 31393 - Loopback test does not work on the 5722 LOM Cause: CQ 27832 change should not be done when in loopback mode. Change: Avoid setting PHY trim registers when in gigabit loopback mode. Version 10.61.0.0B September 10, 2007 ---------------------------------------- 1. Enhancement request CQ 30668 - During INF file verification, a mis-matched labeling in NT services section for a specific OEM was noticed. Cause: Change: Fixed the NT services section in the INF file for a specific OEM. Version 10.61.0.0 September 6, 2007 ---------------------------------------- 1. Enhancement request Add 4 part ID for specific OEM / Enable Estar feature for the following CQs: 31104, 30937, 31070, 30668, 31097, 30650, 30652, 31098 , 30666 Cause: Change: Added new ID / Estar functionality 2. Bug Fix: CQ 31277 - Bus type was reported as PCI-X instead of PCI-E for certain adapters. Cause: The code path reading PCI bus capability was not correct for certain adapters. Change: corrected the code path logic to read the correct PCI bus capability. Version 10.60 August 30, 2007 ---------------------------------------- 1. Problem CQ28879 - The issue manifests itself as a non-maskable interrupt (NMI) blue screen during system reboot. Cause: In vista, TCP could make call into the miniport after driver's shutdown routine had been called (as a result of shutting down the system) in certain edge cases. This happens if a TCP internal timer expired after (or at about the same time) the driver's shutdown got called. Change: Changed the driver's OID handler to detect if it's safe to touch the hardware by taking into the shutdown state into account. Version 10.47.0.0B August xx, 2007 --------------------------------- 1. Bug Fix CQ31091: Some INFs for NDIS 6 Using Incorrect Registry Value for 1 Gb Full Setting Cause: Non-contigious values in NDIS6 implementation Fix: Changed three '5's to '6' in INF files Version 10.47.0.0 August 20, 2007 --------------------------------- 1. Enhancement CQ29991 Allow selection of 1Gbps full duplex Cause: Change in mappings with NDIS 6 doesn't allow NDIS 5 implementation to work. Change: Changed all 8200 to 6 (1Gbps Full Duplex) in infs. Change driver to map NDIS 6 value of 6 to 8200 (0x2008), our internal value. Version 10.46.0.0D August 17, 2007 --------------------------------- 1. Bug fix CQ30935: Rx/Tx performance is low when testing in chariot setup with one/two/three endpoints on some OEM platforms Cause: Enabling RSS actually reduces performance in some scenario. This is seen for example during performance tests with only a few TCP connections. This is also seen on competing products. Change: The previous fix removed support for RSS completely for some platforms which is not desired. In this version, RSS is only disabled, and can be re-enabled if needed. 2. Bug Fix CQ31064: Unable to select 10/100Mbps speeds for 5714c & 5703c chips Cause: Non-sequential numbers in ParamsC registry key Change: Numbers resequenced. Version 10.46.0.0C August 13, 2007 --------------------------------- 1. Enhancement CQ29991 - Changed media type from 8 to 8200 to be consistent with previous values. Eliminate registry key deletion. 2. Bug Fix Remove HKR,,RequestedMediaType under [DelReg.ParamsC] section. Added Missing MSI supported entries. Version 10.46.0.0B August 8, 2007 --------------------------------- 1. Enhancement CQ29991 - Need the option to limit Auto-Negotiation speed to 1 Gig. Change: Added feature for requested two part IDs 2. Enhancement CQ30180 - Add new part Change: Added new part for specific OEM 3. Enhancement CQ30832 - Inhibit behavior for specific OEM part Change: Changed inf to set flag to zero to inhibit behavior in driver Version 10.46.0.0 July 22, 2007 --------------------------------- 1. Enhancement CQ30670 - disable LowPower mode for a requested 4part ID, when WOL is disabled and ASF is not present. Cause: For the 5787M, when ASF is not present and WOL is disabled, on entering S3, driver will allow bootcode to put the LOM into IDDQ LowPower Mode. An OEM request that IDDQ LowPwr mode be disabled for one selected platform. Change: Prevent the bootcode from putting our LOM into IDDQ LowPwr mode on entering S3 for the requested platform. Version 10.45.0.0d July 18, 2007 --------------------------------- 1. Bug fix CQ30595 Enable EPA for some existing 4part IDs (one device does not have EPA applied properly) Cause: Change: Enabled missing EPA functionality Version 10.45.0.0c July 17, 2007 --------------------------------- 1. Bug fix CQ29823: Rx/Tx performance is low when testing in chariot setup with one/two/three endpoints on some OEM platforms Cause: Enabling RSS actually reduces performance in some scenario. This is seen for example during performance tests with only a few TCP connections. This is also seen on competing products. Change: The previous fix removed support for RSS completely for some platforms which is not desired. In this version, RSS is only disabled, and can be re-enabled if needed. 2. Bug fix CQ30595 Enable EPA for some existing 4part IDs Cause: Change: EPA enabled Version 10.45.0.0b July 13, 2007 ---------------------------------------- 1. Enhancement request CG30337 - submit files missed on 10.45.0.0 Version 10.45.0.0 July 12, 2007 ---------------------------------------- 1. Enhancement request CQ30434: Add 4 part ID for new 5787M OEM system Cause: Change: Added the new ID 2. Bug fix CQ29823: Rx/Tx performance is low when testing in chariot setup with one/two/three endpoints on some OEM platforms Cause: Enabling RSS actually reduces performance in some scenario. This is seen for example during performance tests with only a few TCP connections. This is also seen on competing products. Change: Disabled RSS on some platforms where RSS is unlikely to be useful. 3. Bug fix CG29916: Disable hardware fix that causes MAC loopback test to fail frequently when tested at 10Mbps (full or half duplex). 4. Enhancement request CQ30337: Add 4 part IDs for NC7781 & NC7782 Change: Added the new IDs 5. Bug Fix CQ29927: Machine appears to freeze for several seconds when driver loads. Cause: Trying to allocate 640KB for LSO coalesce buffers can fail and retrying by reducing each attempt by 64KB will give the appearance that the system is not running properly. Change: Added code to determine amount of memory installed in the system and made available to Windows. If the largest block exceeds 512MB, allow request to be for the full 640KB, otherwise only request 64KB. Version 10.44.0.0 June 28, 2007 ---------------------------------------- Bug Fix CQ29862 - INF update - A dd 4part ID for a specific OEM Cause: Change: Added the new ID Version 10.43.0.0c June 8, 2007 ---------------------------------------- 1. Bug Fix CQ29868 10.43.0.0B Vista x86 fails chkinf test in DTM Cause: Change: Fixed typo in the inf. Version 10.43.0.0b June 6, 2007 ---------------------------------------- 1. Bug Fix CQ29810 - 5756ME Missing RSS, IPv6 Checksum Offload and IPv4/IPv6 LSO v2 in NDIS 6 drivers Cause: Change: Restored the RSS, IPV6 and offload capability for this device 2. Bug Fix CQ29837 , 29835 - INF update - A dd 4part ID for a specific OEM Cause: Change: Added the new ID 3 . Bug Fix CQ29832 While upgrading from inbox driver to 4 part ID match, we discovered that CO for IPV6 and LSO-V2 for IPV4 are missing for the following devices. 5754 - 167A 5755M - 1673 5756M - 1674 5754M - 1672 5787 -169b Cause: Change: Added the missing functionality Version 10.43.0.0 June 5, 2007 ---------------------------------------- 1. Bug Fix CQ29255 5704 fails 2c_offloadlargesend test Cause: fw_tcpseg.h was checked into VSS and not PerForce. Change: Copy fw_tcpseg.h to PerForce projects for NDIS3-5 and NDIS6. Version 10.42.0 June 4, 2007 ---------------------------------------- 1. Bug fix CQ29405 Upgrading from Vista inbox driver to 10.4 release shows un-wanted parameters in advanced properties Cause: More issues to fix Change: Fixed the reported missing implementation 2. Enhancement request CQ28488 PnP product_version entry needs to be greater than current umbrella version Cause: Change: Changed Release ID tp 10.5.0 Version 10.41.0.0 June 1, 2007 ---------------------------------------- 1. Bug fix CQ29193 Enable EPA feature to support link negotiation for WoL to the lowest advertised speed ( ie first 10 MBPS then 100 MPBS ) Cause: Incomplete implementation Change: Fixed the reported missing implementation 2. Enhancement Request CQ29625 2-part ID Match for 5756ME Missing from INF for NDIS 4/5/5.1/6 Cause: Change: Added new ID 3. Enhancement Request CQ 29677 add 4 part ID for new 5787M with NVIDIA chipset MCP73PV for release 10.4c Cause: Change: Added new ID 4. Bug fix CQ29405 upgrading from Vista inbox driver to 10.4 release shows un-wanted parameters in advanced properties Cause: Incomplete implementation Change: Fixed the reported missing implementation 5. Bug fix CQ29152 NDIS6.0 - Enable the EPA feature for FJ 5906M 4part ID Cause: Incomplete implementation Change: Fixed the reported missing implementation Version 10.40.0.0C May 22, 2007 ---------------------------------------- 1. Bug fix CQ29484 HP_WS: 10 Mbps WoL EPA Enhancement. Missing Msi support Cause: Change: Added Added Msi support Version 10.40.0.0B May 22, 2007 ---------------------------------------- 1. Enhancement Request Add support for 5787 parts Cause: Change: Added support for 5787 parts Version 10.40.0.0 May 18, 2007 ---------------------------------------- 1. Enhancement Request CQ29405 upgrading from Vista inbox driver to 10.4 release shows un-wanted parameters in advanced properties Cause: Change: Added the OEM suggested DelReg keys 2. Enhancement Request CQ29410,CQ29314 Add OEM 4 part ID Cause: Change: Added OEM 4 part ID 2. Enhancement Request CQ29484 HP_WS: 10 Mbps WoL EPA Enhancement Cause: Change: Enabled EPA for 4-part ID 4. Enhancement Request CQ29193 Enable EPA feature to support link negotiation for WoL to the lowest advertised speed ( ie first 10 MBPS then 100 MPBS ) Cause: Change: Enabled EPA for 2-part IDs Version 10.39.0.0B May 8, 2007 ---------------------------------------- 1. Enhancement Request CQ29347 Add OEM 4 part ID Cause: Change: Added OEM 4 part ID Version 10.39.0.0 May 021, 2007 ---------------------------------------- 1. Enhancement Request CQ29344 - BugCheck 0x9c on IA64 system when installing the driver on a 5703. Cause: ASPM Code was being executed on devices that did not support ASPM. Change: Modified the driver to never enable ASPM on devices that do not support ASPM. Version 10.38.0.0c May 01, 2007 ---------------------------------------- 1. Enhancement Request Enable EPA EnergyStar feature for requested devices. Cause: OEM Request. Change: Modified inf file to enable EPA EnergyStar feature. Version 10.38.0.0b April 30, 2007 ---------------------------------------- 1. Enhancement Request Enable EPA EnergyStar feature for requested devices. Cause: OEM Request. Change: Modified inf file to enable EPA EnergyStar feature. Version 10.38.0.0 April 30, 2007 ---------------------------------------- 1. Problem CQ29164, CQ29187 - System hang during driver unload on 5703/5704. Cause: ASPM code was being executed on devices that did not support ASPM due to typo. Change: Removed typo. Version 10.37.0.0 April 27, 2007 ---------------------------------------- 1. Enhancement Request Enable EPA EnergyStar feature for requested devices. Cause: OEM Request. Change: Modified inf file to enable EPA EnergyStar feature. Version 10.36.0.0 April 18, 2007 ---------------------------------------- 1. Problem CQ29049 CRC error on 5703 Long Horn driver v10.10 on WinVistaX86 Cause: 5703 specific PHY setup code is not getting executed in all cases and a bad AUT is being used. change: Change the driver to execute 5703 specific code correctly and destroy the bad AUT. Version 10.35.0.0 April 13, 2007 ---------------------------------------- 1. Enhancement Request CQ28488 PnP product_version entry needs to be greater than current umbrella version CQ27950 Need to add registry key for OEM PnP Install Support Cause: OEM has requested a new registry entry to facilitate installation change: Added product_version key in service section with a version of 10.4 2. Enhancement Request CQ29103 Add 4 part ID for OEM system on 10.4 project Cause: OEM has requested the addition of a 4 part ID change: Added the requested 4 part ID 3. Problem: CQ29148 INF check failure. Cause: A typo in the x64 version INF file. change: Fixed the typo. Version 10.34.0.0 April 06, 2007 ---------------------------------------- 1. Problem: CQ28745 - Phy Loopback failed in SR71 Blade Server 5906m LOM when cable is not present Cause: LM_SetupSnowLoopback() is resetting the PHY at the start of the loopback test. This reset was removed from the NDIS5.1 code base in the past, but not from the NDIS6 code base. Change: Removed the spurious PHY reset in LM_SetupSnowLoopback(). Impact: None. 2. Problem: CQ28192 - Sending large pings leads to long round trip times on 5788. Cause: The interrupt service routine was not handling this device properly. Change: Modified the interrupt service routine to handle the 5788 correctly. Impact: None. 3. Enhancement Request: CQ28816 Add "L1 ASPM debounce" feature. Cause: There is an interoperability issue between the Broadcom LAN controllers and the Intel ICH7/8 that may cause the Rx-performance at 100 Mbps to be lower then expected when L1 ASPM is enabled along with system CPU C3E, or C4, or C4E or higher state. Change: Along with the device driver change here, that will drive the PCI-E link less aggressively into L1 ASPM during network stress, the user must enable the feature by setting a configurable option inside the LAN controllers NVRAM. Impact: There is no known impact from enabling this feature. As a matter of fact, enabling this feature will increase the power savings in case the system has disabled 'L1 ASPM' due to the interoperability issue described above. Version 10.33.0.0 March 07, 2007 ---------------------------------------- 1. Enhancement Request: Apply EPA settings to certain OEM designs. Please refer to amended CQ28493,28495 descriptions Cause: OEM request. Change: Applied EPA settings to affected OEM platforms. Impact: Resolve requested Enhancement Request. 2. Enhancement Request: Add PCI 4 part Device ID to OEM specific INF installation files. Please refer to CQ28493,28495, 28505, 28506. Cause: OEM request. Change: Added new 4 part OEM PCI ID support in OEM specific NDIS INF files. Impact: Resolve requested Enhancement Request. 3. Enhancement Request: Add PCI 4 part Device ID to OEM specific INF installation files. Please refer to CQ28506. Cause: OEM request. Change: Added new 4 part OEM PCI ID support in OEM specific NDIS INF files. Impact: Resolve requested Enhancement Request. 4. Problem: Fixed minor errors in implementing fix for CQ28493 and CQ28506. Cause: Wrong friendly name, and missing registry keys. Change: Fixed the friendly name (CQ28506), and added the requested registry key (CQ28493). Impact: None. 5. Problem: CQ28458 - System hang when running BACS/Diagnostics Test Cause: There is a potential for a race condition to occur between the LAN controller's Interrupt Service Routine (ISR) and its scheduled Deferred Procedure Call (DPC) when running the Broadcom Diagnostics utility (BACS). The affected code segment responsible for the problem is only executed when running BACS. Due to the fact that this issue requires a very specific timing between the ISR and the DPC this problem it is rather intermittent, or may not surface at all on particular systems. Nevertheless, when this condition occurs an ISR-storm gets triggered what will cause the LAN controller to saturate the system CPU and hang the system. Change: Modified specific code segments inside the device driver that get executed when running BACS in order to not enable interrupts inside the LAN controller twice what will prevent ISR-storms to occur. Impact: All BRCM chips are affected by the problem equally. There are no known side effects from fixing this issue. 6. Problem: 5755/5756 Bugcheck D1 on LH Server with 8 or more CPUs if RSS is enabled. Cause: The driver doesn't always calculate the correct receive ring index in the case of system's number of CPUs is greater than the number of receive rings. Change: Modified specific code segments so that the driver can correctly calculate the receive ring number. Impact: There is no known side effect from fixing this issue. Version 10.32 Feb 08, 2007 ---------------------------------------- 1. Problem: CQ28412 - Low power mode in 5755M does not work under Vista. Cause: The Ndis driver was halting the embedded cpu when Wake Up Frame is enabled when the driver is being unloaded. Change: Modified the Ndis driver to only halt the embedded cpu when the system is transitioning to S3/S4 and Wake Up Frame is enabled. Impact: None. 2. Enhancement Request: CQ28429 Add PCI 4 part Device ID to OEM specific INF installation files. Cause: OEM request. Change: Added new 4 part OEM PCI ID support in OEM specific NDIS INF files. Impact: Resolve CQ28429 Enhancement Request. Version 10.31 Feb 01, 2007 ---------------------------------------- 1. Problem: CQ28164 - 5721/5751/5752 fails phy loopback test. Cause: Change for CQ26645 is not compatable with phy loopback mode. Change: Modified the phy loopback code to disable Auto-Mdix when phy loopback is enabled. Impact: None. 2. Problem: When the ndis driver loads on a 5755M, 5787M or 5752M with the cable unplugged. The GPHY DLL was not being powered down. Cause: Corner case in the GPHY DLL power down code. Change: Corrected GPHY DLL power down code to properly handle the corner case. Impact: None. 3. Problem: LH-6001 checked build assert. Cause: Corner case in the failure of allocating shared memory for coalescing pool. Change: Freed allocated resources when OS failed to return shared memory at initialization. Impact: None. 4. Problem: PreFast warnings (DDK 6000). Cause: DDK 6000 introduces new PF warnings. Change: Suppress some of warnings. No CODE change. Impact: None. 5. Problem: Add support for OEM platforms. Cause: Please refer to CQ#28081 for details. Change: Added PNP IDs to inf files. Impact: None. Version 10.30 January 12, 2007 ---------------------------------------- 1. Problem: Add support for 5756ME and 5722 devices. Cause: Please refer to MRD for details. Change: Added PNP IDs to inf files. Impact: None. Version 10.8b ** Inf Update Only ** January 9, 2007 ---------------------------------------- 1. Problem: CQ#27306 - Adding WOL support for 5715S, for Tyan S3997, 5715S A3. Cause: WakeOnTbi should be applied to BCM5714SWol install section. Change: Change the WOL option from ParamsWoL to ParamWakeOnTbi in the BCM5714SWol install section of the inf files. Impact: None. Version 10.8a ** Inf Update Only ** January 8, 2007 ---------------------------------------- 1. Problem: CQ28059 Missing friendly strings in inf file. Cause: Changes ported over from release 9.7 were not complete. Change: Added missing friendly strings into the inf file. Impact: None. Version 10.8 December 18, 2006 ---------------------------------------- 1. Problem: CQ27896 System CPU busy after finishing CPU test in BACS. Cause: The driver clears the status tag in host memory whem resuming the driver. This causes problem if MSI is active because MSI will not de-assert if the latest tag is not written to interrupt mailbox to ack the interrupt. The re-generated MSI interrupt doesn't associate with a status block update. One-shot MSI implemented on newer chips would solve this problem but it's not available to older PCIe chips. Change: Modify the driver not to clear the status tag after finishing diagnose. Impact: None. Version 10.7 December 14, 2006 ---------------------------------------- 1. Problem: CQ27776 5906 intermittently fails BACS Phy Loopback test. Cause: The 5906 phy auto-mdix feature needs to be disabled during phy loopback test. Change: Modified the ndis driver to disable auto-mdix during phy loopback on 5906. Impact: None. 2. Problem: CQ27874 5906 -remove LSO support from sys and INF file (just like for 5906m) Cause: Refer to the CQ for more information Change: Modified the ndis driver and inf file to not report this feature to the operating system during ndis driver initialization. Impact: None. 3. Problem: CQ27832 5755M failing IEEE compliance on certain OEM platforms. Cause: The phy trim registers needed to be modified by the ndis device driver. Change: Modified the ndis driver to program the phy trim registers per recommendation from phy engineering team. Impact: None. 4. Problem: CQ#27795 remove "interrupt moderation" from "advanced driver properties" for OEM platforms. Cause: Refer to the CQ27795 for more information Change: For affected platforms, we want to hide the "interrupt moderation" option inside the driver advanced properties. Impact: None. Version 10.6 December 8, 2006 ---------------------------------------- 1. Problem: CQ27759 5906 fails WHQL packet filter test. Cause: The 5906 uses a different mechanism to filter broadcast packets from previous controllers. Change: Modified the ndis driver to properly filter broadcast packets on 5906. Impact: None. Version 10.5 December 4, 2006 ---------------------------------------- 1. Problem: CQ#27413 - implement restrictive AutoNeg in NDIS6 driver. Cause: The feature hasn't been populated from the NDIS5x driver because MSFT make the auto neg standardized keyword. Change: Modify driver translated non-standardized values to recognize restrictive auto negotiation settings. Impact: None. 2. Problem: Low throughput performance on DosXX-5906M with ASPM enabled. Change: The low performance we are seeing is due to a design flaw in the ASIC. This flaw causes the PCI-e latency during DMA transfer to become unecessarily large, and leads to a lower throughput. The only way to get around this problem, is to coalesce every tx packets for the the 5906, which this Windows driver version does. Impact: Possibly higher CPU utilization with this version. 3. Problem: Adding WOL support for 5715S, for Tyan S3997, 5715S A3 Change: Added an entry for this device in the generic win32 and x64 infs. Impact: None. 4. Problem: CQ#27722 - new 4 part ID support for oem platforms. Change: INF update. Impact: None. Version 10.4 November 27, 2006 ---------------------------------------- 1. Problem: CQ00027621 - Cannot Select Box to Allow AUT to wake up Computer in Pwr Mgmt Tab with NDIS 6 v10.3. Cause: In the v10.3 release, there is a requirement to remove certain advanced settings for some oem platforms, hence the driver's inf was changed to remove some registry settings before starting up the installation in order to clean up the registry keys. However, the OS installer seems to defer deleting registry at a point after these keys were re-populated back to the HKR location. Hence, the driver would not be able to read the settings. Change: Limited the keys to delete for the affected OEM platforms, only delete keys that are not used by the affected OEM platforms. Impact: None. Version 10.3 November 22, 2006 ---------------------------------------- 1. Problem: Need to clean up stale registry keys left by the inbox driver. Cause: For certain new devices, the inbox driver does generic 2-part matching during installation. For such new devices, the generic 2-part installation section contains advanced features and settings which is not required by some OEMs for their new platforms. In these new platforms, 4-Part ID is used to specify the installation section with simplified settings which contains less configurable parameters in the advanced pages. However, the upgrade driver process does not clean up the advanced settings left by the inbox driver hence those undesired settings still accessible through the advanced property page. Change: Delete all advanced settings before install or upgrade driver. Impact: None. 2. Problem: None cause: None. Changes: Integrated changes from ndis5x driver from v10.19 to v10.20. The changes are described below (Problem 3,4,5). Impact: none. 3. Problem: CQ27551, CQ27500, CQ27498 EnergyStar WOL feature does not work. Cause: The code for did not configure the phy properly when dropping the feature was enabled. Change: Corrected the EnergyStar feature to configure the phy correctly. Impact: None. 4. Problem: CQ27588, EnergyStar feature should be enabled by default for devices that require the feature. Cause: Feature request. Change: Changed the default behavior to enabled for devices that require the feature. Impact: None. 5. Problem: CQ27536, Remove Large Send Offload feature from 5906M. Cause: Feature request. Change: Removed Large Send Offload feature from 5906M. Impact: None. Version 10.2.0.0 Nov 16, 2006 ---------------------------------------------------------------------- 1. Problem: Need to apply EPA setting on certain OEM platforms. Cause: Enhancement request please refer to CQ#27190. Change: Applied EPA setting on certain OEM platforms. Impact: none. 2. Enhancement Request: CQ#27410 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#27410 Enhancement Request. 3. Problem: None cause: None. Changes: Integrated changes from ndis5x driver from v10.16 to v10.19 excluding iSCSI boot and 5906 lso/clkreq related changes. Impact: none. Version 10.1.0.0 Nov 09, 2006 ---------------------------------------------------------------------- 1. Problem: CQ#27231 Network Address property is displayed twice in Advanced Tab of Network Properties with the latest driver 9.34 on only 5703. The problem is not seen with the In-box driver, v 9.20.03 and not seen on 5755, 5705, 5714, 5751. Cause: A bug in the INF file that doesn't clean up stale registry keys for certain devices. Change: Modify the INFs to clean up registry keys before installation. Impact: Resolve CQ#27231. 2. Problem: 5705 NDIStestv6.5 RC_2 DTM LSO test failure. Cause: The cert test failed at packet size = 7268B MSS=904 at 10M/H. Fix for CQ27281,27241,27280 introduced a bug that long burst mode is mistakenly enabled for 5705 device when it's configured at 10M/H 6.25mhz core clock which will cause RDMA read FIFO overrun. Change: 1. Do not enable long burst for 5705 in the GPHY power down code introduced in the GPHY power down fix. 2. Set RDMA mode to "FIFO available" when the device is on 6.25 mhz core clock. Impact: Fixed cert failure. Version 10.0.0.0a Nov 02, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: CQ#27190 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#27190 Enhancement Request. Version 10.0.0.0 Nov 02, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: CQ#27248 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#27248 Enhancement Request. 2. Problem: CQ27281 link down after reboot with Vista Drivers on OEM system - Unable to resume and pass traffic when the 5752M, 5755M or 5787M is initialized with the Ethernet cable Unplugged and subsequently plugged in after driver has Finished initialization. Cause: Similar to CQ27241, CQ27280 in NDIS5x drivers, A coding error in the power saving enhancement for 5752M, 5755M and 5787M controllers was powering down the GPHY DLL during controller initialization. Change: Modified the Ndis driver to not power down the GPHY DLL during controller initialization. Impact: Resolve CQ27281. 3. Enhancement Request: CQ27259 Add support to fallback to lowest advertised link speed for S3/S4. Cause: New feature request. Change: Added WOL speed configuration option. Added peer link partner capabilities check if fallback is enabled. Impact: Resolve CQ27259 Enhancement Request. 4. Problem: None cause: None. Changes: Integrated changes from ndis5x driver from v10.11c to v10.15. Impact: none. Version 9.40.0.0 Oct 30, 2006 ---------------------------------------------------------------------- 1. Change: Restore IDs for 5906, 5906M which had been removed from v9.33. Impact: none. Version 9.35.0.0 Oct 25, 2006 ---------------------------------------------------------------------- 1. Problem: CQ#27253 - NDIS6: 1c_mini6send test script failure CQ#27221 - Interface hangs while running NSlicer and Netperf at the same time cause: A coding error was introduced in v9.33 that UP code gets executed on MP system. Change: Fixed the typo to make sure MP system is correctly detected and setup. Impact: none. Version 9.34.0.0 Oct 23, 2006 ---------------------------------------------------------------------- 1. Problem: CQ#27167 - wake up capabilities settings set to magic packet only will not show link when system is in sleep state cause: OS doesn't behave right when MAGIC WOL is enabled alone. Change: Over-advertised WOL caps. Impact: none. 2. Problem: PCIe link gets reset upon system crash which is not desirable. cause: Upon system crash, the driver reset the PCIe link along with the MAC core which causes other bugchecks. Change: Don't reset PCIe link for PCIe devices upon bugcheck. Impact: none. Version 9.33.0.0 Oct 20, 2006 ---------------------------------------------------------------------- 1. Problem: CQ#26855 - NDIS 6: 2c_oidsndisrequest and Stats test script failed. cause: The MAC doesn't collect UC/MC/BC byte status. Change: Add code in the driver to collect UC/MC/BC byte counts in both send and receive path. Impact: May have minor performance impact. 2. Problem: CQ#26857 - NDIS 6: 1c_mini6rssoids test script failed. cause: The new test kit requires driver to verify RSS settings. Change: Add code to verify RSS settings before applying. Impact: none. 3. Enhancement Request: CQ#27184 - Remove support for 5906, 5906m, 5722 and 5756ME for NDIS 6.0 RC driver for 9.7v. Cause: This is a requirement for R9.7. Change: Remove device IDs: 1712,1713,1674. Impact: None. Version 9.32.0.0 Oct 12, 2006 ---------------------------------------------------------------------- 1. Problem: CQ#27003 - Remove DbgBreakPoint calls in NDIS6 v9.31 driver. cause: A hardcoded breakpoint was left in free build causing DTM failure. Change: Removed the hardcoded BP. Impact: none. 2. Enhancement Request: CQ#27025 - Vista driver do not have vlan tagging support. Cause: In Windows Vista, Microsoft states the only correct way to support VLAN is using IM driver to set VLAN ID in NBL OOB. After discussed with MSFT, we added the VLAN ID registry setting as a temporarily solution for customers who want to support VLAN without an IM driver. Change: Added editable keyword "VLAN ID" in INF. Driver tags packets according to the current 801.1P/Q and VLAN ID settings. Impact: None. 3. Enhancement Request: CQ#26977 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#26977 Enhancement Request. 4. Problem: CQ#27045 - NDIS6 driver should specify its physical medium as NdisPhysicalMedium802_3. cause: New requirement in latest DTM. Change: Changed to report 802.3 as medium type at initialization. Impact: none. 5. Problem: CQ#27100 Vista - Network address does not work. DUT only shows permanent MAC. cause: The registry key controlling the LAA is not up to the latest WDK document and OS. The ndis function to read the LLA registry key doesn't not work. Change: INF update. Changed the LAA key from *NetworkAddress to NetworkAddress. Impact: none. Version 9.31.0.0 Sep 29, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: CQ#26873 NDIS6: string name enhancements in order to warrant "unified INF file" for Vista Cause: Please refer to CQ#26873. Change: Renamed the OEM references in the generic INF files. Impact: None. 2. Problem: Need to Sync to latest NDIS5x driver to pickup fixes between v9.74b to v10.11c. Cause: Enhancement request. Change: Sync to latest NDIS5x. Impact: Fixed the problem as described above. 3. Problem: Need to pick up enhancements and changes made to the RC_1 branch. Change: Sync to 9.20.0.5. Enhanced the way the driver handles Pause reset, and set power. Impact: None. Version 9.30.0.0a Sep 22, 2006 Same driver binary files as prior v9.30 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: The latest Vista v9.24.0.0 INF-file differs from the INBOX-INF-file as to where it cross-references certain OEM's. This will break the "unified INF-file" approach taken for the INBOX-INF-file v9.20.0.1. Change: Renamed all OEM specific references in the INF files. Impact: Resolve Enhancement Request. No impact. Version 9.30.0.0 Sep 21, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: CQ#26196, 26530, 26537, 26697,26739 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve Enhancement Request. Version 9.24.0.0 Aug 31, 2006 ---------------------------------------------------------------------- 1. Problem: NDIS5.1 and NDIS6.0 driver can not coexist on Vista if system has mixed of 5703 and newer device and 5700/01/02 devices. Cause: NDIS51 and NDIS60 INF use same service displayname. Os installer will not allow difference services with identical display name. Change: Changed NDIS6 inf file to use display name different from ndis51 INF file. Impact: Vista can load NDIS5.1 and NDIS6.0 driver on the same machine at the same time. 2. Problem: 5704 won't send on system with 16GB of memory. Cause: H/W limitation on RDMA request crossing 4*N GB address boundary. This also applies to any devices before 5755. Change: Coalesce send fragments when detecting any fragment in a send packet meet such condition. Impact: Fixed the problem mentioned above. Performance impact is not observed. Version 9.23.0.0A Aug 29, 2006 Same driver binary files as prior v9.15 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: Remove StanfordME support for 9.7 release. Cause: Release requirement. Change: Removed 5906/5906M support. Impact: StanfordME support will not load. Version 9.23.0.0 Aug 25, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: CQ#26523 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#26523 Enhancement Request. 2. Enhancement Request: CQ#26530 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#26530 Enhancement Request. 3. Enhancement Request: CQ#26537 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#26537 Enhancement Request. 4. Enhancement Request: Remove 5906/5906M for 9.7 release. Cause: Release requirement. Change: Removed 5906/5906M support. Impact: 5906/5906M will not load. 5. Problem: Interrupt coalescing doesn't work. Cause: One line of code in tigon3.c was removed by the diff tool while syncing up to the XP source code. Change: Added the missing code back. Impact: Fixed the problem. Version 9.22.0.0 Aug 16, 2006 ---------------------------------------------------------------------- 1. Enhancement request: Need to merge OEM 4-part IDs into generic inf for Vista. Change: Added OEM 4-part IDs into generic inf for Vista. Impact: none 2. Problem: CQ26371 - System Under Test with 5756ME NIC encounters BSOD during MS PCI Compliance Test Cause: See detailed report attached to the CQ. Change: 1. Needs to check the state of bit 12 at 0xDC before programming the Clkreq Enable Bit and the PLLPowerDownL1_Disable Bit if bit 12 of DC is 1 then Write 1 to the Clkreq Enable Bit and Write 0 to the PLLPowerDownL1_Disable Bit else if bit 12 is clear then Write 1 to the PLLPowerDownL1_Disable Bit. Version 9.21.0.0 Aug 08, 2006 ---------------------------------------------------------------------- 1. Problem: Need to Sync to latest NDIS5x driver to pickup fixes and 5906 support. Cause: Enhancement request. Change: Sync to latest NDIS5x. Impact: Fixed the problem as described above. 2. Enhancement Request: CQ#26184,26263,26147,24352,26146,26261,26262,26196,25620,26197. Add PNP IDs to Vista INF file. Cause: Requirement for Vista support. Change: Added new IDs to INF file. Impact: Resolve CQ enhancement Requests. Version 9.20.0.2 Aug 04, 2006 ---------------------------------------------------------------------- 1. Problem: Driver cannot be unloaded after running 2c_loadunload in a loop overnight. It usually happens after running the script for 4 hours. Cause: At UM_Halt, driver disables interrupt on the h/w then calls NDIS function to disconnect interrupt from operating system. There is a window that a pending DPC for Isr has been queued but OS has not called NDIS's DPC for Isr when driver made call to disconnect interrupt from IDT. NDIS will in turn a) deallocate interrupt object. b) NdisMDeregisterInterruptEx immediately return without waiting for pending DPC to complete. When system calls NDIS's Dpc for Isr later, NDIS will not call driver's Dpc for Isr routine. It leaves driver pending DPC count non-zero, hence, the halt function will wait until it goes to zero which will never happen. Change: Driver waits for pending DPC to complete after disabling interrupts on h/w. It only call NdisMDeregisterInterruptEx when pending DPC count is clear (zero). Impact: Fixed the problem as described above. 2. Problem: AUT stops passing traffic in Chariot Stress test when LsoV2 is enabled on capable NICs such as 5755/5754/5787. Cause: Driver would prematurely clear the MSS in the LSO NBL information structure when the driver is running out of SBD and pushes the NetBufferList back to the send queue. The driver would not see the MSS information when resending the netbufferlist after SBDs become available. The logic of setting LSO completion is carried from old code. This problem was in the driver since day one but it doesn't expose until we test it with RC1 build+LsoV2. Change: Modify the code to setup LSO completion information after the LSO packet was actually transmitted. Impact: Fixed the problem as described above. Version 9.20.0.1 Jul 20, 2006 ---------------------------------------------------------------------- 1. Problem: Driver sometimes experience linked list corruption which leads to different problems such as hang, data corruption etc. Cause: The function s_list_pop_head does not terminate the linked-list by setting the "next" field to null. If we subsequently add the removed entry to other linked list, it would add more entries than it's supposed to and the value in "cnt" field doesn't match the number of entries in the link list obviously. XP driver doesn't have this problem because it doesn't use any of functions from listq.h Change: Nullify the "next" field after the entry was removed from queue. Impact: None. Version 9.20.0.0 Jun 13, 2006 ---------------------------------------------------------------------- 1. Problem: NDIS6 driver for Vista RC 1 needs to implement new offload interface. Cause: This is a Vista RC 1 and RTM requirement. Change: Implemented changes to comply with the new offload interface. Implemented Group Keyword for TCPIP offload settings. Modified the code to comply with latest NDIStester tools. Impact: Driver passes RC 1 NDIStest on a patched 5452 build. 2. Problem: Need to merge OEM and BRCM generic INF. Cause: This is a Vista RC 1 and RTM requirement. Change: OEM and BRCM generic INFs are merged. Impact: All IDs from these infs (based on b57win 9.52B) are included in the inbox INF file. 3. Enhancement Request: CQ#25620 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. (mobile) Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#25620 Enhancement Request. Version 9.18 Jun 24, 2006 ---------------------------------------------------------------------- 1. Problem: Resume take 2 seconds longer if the ethernet cable is connected. Cause: NDIS6 driver does not complete a set power request timely if link is up before going into low power mode. The driver will wait for the link to come up at DPC level for seconds. This prevent other thread from running. Change: Driver completed the set power without waiting the link to go up. Driver does not indicate link status to OS during link setup right in the case of resuming from low power mode. It schedules a link check timer to finally report the link status if there is a change. This is to ensure driver doesn't mistakenly indicate a link down and indicate link up again. Impact: Fixed the problem as described. 2. Problem: CQ#25391 - 1c_KernelCalls IoGetAttachedDeviceReference Cause: This is introduced while implementing a workaround for beta 2 NDIS.sys not being able to access PCI configuration space at MiniportAddDevice callback. Miniport driver hence need to get access to the device stack. But NDIS driver can not call IoGetAttachedDeviceReference. Change: Remove the IoGetAttachedDeviceReference since the driver doesn't really need reference to the topmost device object while accessing the PCI bus driver. Impact: Fixed CQ#25391. Version 9.17 Jun 15, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: Enable private OID support for Vista. Cause: LH NDIS wrapper will failed OIDs sent to any NDIS6 driver if the OIDs has not been included in the supported OID list. If NDIS6 driver returns private OIDs in the support list, IOCTLCoverage will throw random data through the advertised OID. The driver does not validate the contents in the input buffer that cause random behavior while handling private OID. Change: Modify the driver to include private OIDs in the supported OID list. An input buffer header was added to each private. The header contains signature setup by the calling application. Driver always validate the signature before process a private OID. Changes are also made to BMAPI. Impact: Driver now can passed IOCTLCoverage test with private OID support. BACS can talk to NDIS6 driver through the modified BMAPI. 2. Problem: CQ#25320 NDIS6: InterruptModeration test failure Cause: Driver does not return BytesWritten. Change: Return buffer size properly. Impact: Fixed CQ#25320. 3. Problem: Driver BSODs when there are more than 32 CPUs installed. Cause: Driver assumed the max number of CPUs is 32 and allocated a static array of 32 elements for per-CPU data. It causes memory overrun when the number of active CPUs is more than 32. Change: Instead of using hardcoded number, the driver gets number of active CPUs through newly added kernel API and allocates memory from non-paged pool for per-processor slot data. Impact: Driver will not crash when number of CPU is greater than 32. 4. Problem: Driver initialization causes newer Vista check build to assert. Cause: Driver didn't properly clean up the RSS attribute pointer while registering generic attributes with ndis. Change: Change made to the initialization code to clean up the RSS attribute pointer if the chip does not support RSS. Impact: Fixed the assert in newer Vista check build. Version 9.16 Jun 12, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: CQ#24438 - Need to support MSI in NDIS 6 driver on MSI capable devices. Cause: The NDIS 6 driver for 57xx devices does not currently support MSI on *any* device, even devices that are capable of supporting MSI. It is a MSFT Vista logo requirement that all PCI-E devices supoort MSI, and thus the driver for PCI-E devices should support MSI. So the driver needs to be modified to support MSI for Shasta Cx step devices, and all later PCI-E devices including Baxter, Stanford, Jade, and Caeser. The driver should not support MSI on Shasta A/B steps due to known HW errata regarding MSI in those devices. At this time the driver is not required to support MSI on non PCI-e devices. Change: Added code support MSI in ndis6 driver. Change INF to enable OS to assign MSI resources for devices newer than Shasta. The driver implemented code to filter out MSI resources and roll back to INTX for Shasta A/B steps based on chip rev read from PCI config 0x68. Impact: MSI now is supported on Shasta CX and up. Version 9.15b May 19, 2006 Same driver binary files as prior v9.15 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: Keep NDIS60 INF in sync with XP's INF. Change: Synced to 9.52B XP inf. Impact: None. Version 9.15a May 17, 2006 Same driver binary files as prior v9.15 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ#24766 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. (mobile) Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24766 Enhancement Request. 2. Enhancement Request: CQ#24456 Remove 4 ID device match for new OEM project. Cause: Old 4 ID device match support request by OEM. (mobile) Change: Removed new 4 ID device match for OEM project. Impact: Resolve latest requirement for CQ#24766 Version 9.15.0.0 May 12, 2006 ---------------------------------------------------------------------- 1. Problem: CQ#24741 INF Scrub for Vista Inbox Driver Revealed Missing Support for Some Chips and Invalid 4-part IDs. Cause: Some 2-Part IDs are missing and invalid 4-Part IDs. Change: Added required 2-Part IDs and removed invalid 4-Part IDs. Impact: Fixed CQ#24741. 2. Problem: Need to sync-up to XP driver to pickup latest fixes. Change: Manually merge files from XP driver. Impact: Picked up latest changes, fixes to the XP driver. Version 9.14.0.0 May 5, 2006 Merged from 9.4.2.9 ---------------------------------------------------------------------- 1. Problem: There are multiple synchronization problems in code paths, such as the Pause/Restart, Reset, Halt, PowerManagement, interrupt and DPC handling etc. Cause: Vista OS appears to be more asynchronous which would trigger some race conditions in the some code inherent from the old design. Change: Make disabling/enabling interrupt synced with ISR, ensure no pending DPC after interrupt has been disabled. Re-write RX code so that is clean and easy to sync with other operations such as reseting, pausing, restarting, switching between power modes. Driver can not be safely reset in most case so the reset code has been changed to asynchronous. Impact: Fixed many race conditions reported by MSFT during their internal test and deployment. 2. Enhancement Request: Use in-stack spinlock to improve performance in performance critical Path. Cause: Enhancement. Change: Use in stack spinlock to improve performance in performance critical Path. Impact: Enhance spinlock performance. 3. Problem: Interrupt coalescing doesn't work and CPU usage is high under heavy traffic. Cause: Driver disables interrupt at ISR and invoke DPC. DPC will continuously check status block update and process send and receive events until a) no more status block update event b) DPC has executed more than 10 ms c) DPC loop count has been reached. When DPC is running, no interrupt is generated hence the interrupt count is very low. The interrupt coalescing logic believes the device is not generating many interrupts/events and won't kick in. Change: change made to the DPC to increment the interrupt count when it detects a new status block update so that the interrupt coalescing logic will engage to coalesce the host-attention events. Impact: Reduced CPU utilization under heavy traffic and improve PEI. Version 9.13.0.0 May 5, 2006 ---------------------------------------------------------------------- 1. Enhancement Request: CQ#24456 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. (mobile) Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24456 Enhancement Request. 2. Enhancement Request: CQ#24584 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24584 Enhancement Request. 3. Enhancement Request: CQ#24186 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Removed reference to 5788 section. Impact: Resolve CQ#24186 Enhancement Request. Version 9.12c.0.0 April 20, 2006 Same driver binary files as prior v9.5 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ#24401 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. (mobile) Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24401 Enhancement Request. 2. Enhancement Request: CQ#24352 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24352 Enhancement Request. 3. Enhancement Request: CQ#24351 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24351 Enhancement Request. 4. Enhancement Request: CQ#24104 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24104 Enhancement Request. 5. Enhancement Request: CQ#24186 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24186 Enhancement Request. Version 9.12b.0.0 April 10, 2006 Same driver binary files as prior v9.5 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ#24099 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. (mobile) Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24099 Enhancement Request. 2. Enhancement Request: CQ#24192 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24192 Enhancement Request. 3. Enhancement Request: CQ#24190 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24190 Enhancement Request. 4. Enhancement Request: CQ#24189 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24189 Enhancement Request. 5. Enhancement Request: CQ#24186 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24186 Enhancement Request. 6. Enhancement Request: CQ#24017 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24017 Enhancement Request. Version 9.12a.0.0 March 31, 2006 Same driver binary files as prior v9.5 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ#24099 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#24099 Enhancement Request. Version 9.12.0.0 March 24, 2006 ---------------------------------------- 1. Problem: NDIS6 driver need to pick up latest changes from XP driver. Cause: Merge of NDIS5.x driver changes is required. Change: Synced files upto 03/06/2006 from b57xp32 v9.20. Impact: None. 2. Problem: Vista 5308 Network Connection displays 1Gb while adapter is initialized with a 10/100Mb link. Cause: NDIS in this build assumes the link speed to be the Max Speed the driver has advertised at initialization without sending OID to query current link speed. Change: The Link Done Timer routine will test the current link speed if the link is active. It compares the current speed against the Max Speed advertised at initialization time, it indicates link speed change event to NDIS if current link speed does not equal to Max Link Speed. Impact: Network connection correctly shows link speed. 3. Enhancement Request: CQ23713 Add new 5789 device ID's for OEM customer. Cause: New OEM project IDs requested. Change: Added new PCI ID support in NDIS INF files. Impact: Resolve CQ23713 Enhancement Request. 4. Enhancement Request: CQ23712 Add new 5789 device ID's for OEM customer. Cause: New OEM project IDs requested. Change: Added new PCI ID support in NDIS INF files. Impact: Resolve CQ23712 Enhancement Request. Version 9.6.0.0 March 3, 2006 ---------------------------------------- 1. Problem: CQ23438 System with 5752M fails to get DHCP address on boot if LAN cable was disconnected during OS boot and later connected after user log on to Windows. Cause: A non recoverable Read DMA error occurs in this test scenario, due to NIC's internal core clock being automatically slowed down by logic in the device when the GPHY DLL is automatically powered down when CAT 5 cable is disconnected. The GPHY DLL automatically gets powered down and NIC's internal core clock gets slowed down when the CAT 5 cable disconnected, this is an intended design power saving feature. Unfortunately, the slowed down of the core-clock causes Read DMA error, which resulted in the system failed to acquire the IP address via DHCP. Change: Modified driver code to Not Enable the GPHY DLL Auto-Power-Down feature of hardware for 5752M Devices. Impact: Higher power consumption on these devices when the device is enabled, but the network link is down. Resolve CQ23438 issue. 2. Problem: CQ23551 Disable GPHY DLL power-down on 5752M, 5754M, 5755M, and 5787M Devices. Cause: Same problem as CQ23438 would occur for the listed devices. A non recoverable Read DMA error occurs in this test scenario, due to NIC's internal core clock being automatically slowed down by logic in the device when the GPHY DLL is automatically powered down when CAT 5 cable is disconnected. The GPHY DLL automatically gets powered down and NIC's internal core clock gets slowed down when the CAT 5 cable disconnected, this is an intended design power saving feature. Unfortunately, the slowed down of the core-clock causes Read DMA error, which resulted in the system failed to acquire the IP address via DHCP. Change: Modified driver code to Not Enable the GPHY DLL Auto-Power-Down feature of hardware for all 5752M, 5754M, 5755M, 5787M Devices. Impact: Higher power consumption on these devices when the device is enabled, but the network link is down. Resolve CQ23551 issue. 3. Problem: NDIStester 6.5 Offloadchecksum failure on 5715/14/80 devices. Cause: The driver mistakenly enables pseudo header checksum on 5714/5715/5780 devices. Change: Made change to the code so that 5714/5715/5780 devices will not calculate pseudo header checksum on TX path. Impact: Passed NDIStestv6.5. Version 9.6 March 3, 2006 Merged from 9.4.1.x branch ---------------------------------------------------------------------- 1. Problem: 1516254 Broadcom: b57nd60a / b57nd60x: 0x9F during stress: DRIVER_POWER_STATE_FAILURE (9f) 1523492 Broadcom: b57nd60a/b57nd60x: drivers fails to send complete packets causing multiple issues. Cause: A race conditions in LM_EnableInterrupt and UM_Reset enables interrupt twice. It causes interrupt being re-enabled after DPC had disabled it. Change: Have the LM_EnableInterrupt sync with ISR and test if interrupt is unmasked before enabling interrupt. Impact: Resolved MSFT reported 1516254 and 1523492 on CTP release. 2. Problem: 1502715 Broadcom: b57nd60a.sys: v9.5.0.0: X64_0xD1_W_b57nd60a! MM_IndicateRxPackets+32b: miniport is indicating packets up when OID_GEN_CURRENT_PACKET_FILTER is not set Cause: The UM_Restart routine turns on the OkToIndicate flags without testing the current packet filter. NDIS clears packet filter when pausing a miniport. When Miniport gets restarted, NDIS does not expect miniport to indicate any RX packet until it turns on the packet filter. Change: Do not set OkToIndicatePackets when restarting miniport. Impact: Resolved MSFT reported 1502715 on CTP release. 3. Problem: 1513694 Broadcom: b57nd60x.sys "\Network Interface(*)\Bytes Sent/sec" counter 0 for Broadcom NetXtreme 57xx Gigabit Controller (NDIS6.0). Cause: Driver doesn't fully support OID_GEN_STATISTICS. Change: Implemented OID_GEN_STATISTICS as required. Impact: Resolved MSFT reported 1513694 on CTP release. Version 9.5C *** INF Update *** Feb 28, 2006 Same driver binary files as prior v9.5 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ#23332 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ#23332 Enhancement Request. Version 9.5B *** INF Update *** Feb 14, 2006 Same driver binary files as prior v9.5 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ22775, 23125 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ22775, 23125 Enhancement Request. Version 9.5A *** INF Update *** Feb 2, 2006 Same driver binary files as prior v9.5 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ14658,22946, and 22956 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ14658,22946, and 22956 Enhancement Request. Version 9.5 January 31, 2006 ---------------------------------------------------------------------- 1. Problem: Assert during 2c_PMSleep.wsf. Cause: While fixing RSS shutdown crash on suspend, there is a bug being introduced causing NON-RSS devices to leave RX BDs in RX return ring, then LM_SetPowerState waits at dispatch level. Change: Release main spinlock before calling LM_SetPowerState. Impact: 2c_PMSleep won't assert. 2. Problem: Halting adapter BSOD. cause: While fixing RSS shutdown crash on suspend, there is a bug being introduced causing NON-RSS devices to leave RX BDs in RX return ring. This effectively messed up the RX resource accounting. Change: Fix in LM_Abort to make sure non-RSS nics correctly collect RX BDs in RX return ring before returning. Impact: Halting non-RSS adapter won't BSOD. Version 9.4 January 21, 2006 ---------------------------------------------------------------------- 1. Problem: Fix in 9.3 breaks LSO on 5705, ndistester asserts. Cause: Boundary condition is not detected correctly. Change: Modified code to test chip ID range correctly. Impact: Fixed 5705 LSO. Version 9.3 January 21, 2006 ---------------------------------------------------------------------- 1. Problem: LSO Cert. failures on 5704 Cause: Need workround. Change: Disable LSO silently. We Will fix it later. Impact: LSO is disabled on 5704 and older chips. Version 9.2A *** INF Update *** January 20, 2006 Same driver binary files as prior v9.2 Driver Release ---------------------------------------------------------------------- 1. Enhancement Request: CQ14024 Add 4 ID device match for new OEM project. Cause: New 4 ID device match support request by OEM. Change: Added new 4 ID device match for OEM project. Impact: Resolve CQ22775 Enhancement Request. Version 9.2 January 20, 2006 ---------------------------------------- 1. Problem: Broadcom driver reports MTU of 1514 in NDISMSetMiniportAttribute ? MTU should not include header and should report 1500. TCP then add 14 to the MTU; causing IPSec to interpret this as a corrupted packet cause: Incorrectly report MTU size at initialization. Change: Report MTU size correctly, MTU should not include header. Impact: Resolve reported issue. 2. Problem: Use DDK-5287 to build the driver. cause: Feb CTP release requirement. Change: No source code change required. Impact: Resolve reported issue. Version 9.1 January 17, 2006 ---------------------------------------- 1. Problem: ECD13216 Implement ECD13216 for 5714S/5715S link detection problem. Cause: Hardware errata on 5714S/5715S Change: Modified init code to enable configuration bits to enable fix for ECD13216 in hardware. Modified link status code to read link status from tx status register. Impact: None 2. Enhancement Request: CQ14643 Add new PCI ID support for OEM customer. Cause: New OEM project. Change: Added new PCI ID support in OEM installation INF file. Impact: Resolve C14643 Enhancement Request. Version 9.0 January 10, 2006 ---------------------------------------- 1. Initial release. Overall: This initial release of BRCM NetExtreme NDIS 6.0 Driver was tested to perform the best with Microsoft Longhorn (Vista) Beta build version 5270, and all tests were performed using MSFT NDIS Test 6.0.6. Although this version (9.0) of BRCM NetExtreme NDIS 6.0 Driver had encountered some problems during testing, but we believe most of the problems are MSFT Longhorn (Vista) OS and/or NDIS Test tool related. BRCM is actively engaged with MSFT regarding the "known issues", and are working with MSFT in driving the resolutions. This BRCM NetExtreme NDIS 6.0 Driver support BRCM NetExtreme chip family starting from BCM5703, 5704, CIOB-E, 5705, 5751, 5752, 5754, 5755, 5787, 5714, 5715, HTLE and derivatives. This NDIS 6.0 Driver removed the support for BCM 5700, 5701 and 5702 chips. Known issues: CQ13764: DPC timeout -- LH 5216.vbl_ndt_netio DPC watchdog timeout with b57xp32 on the stack (reported by MSFT). CQ22245: DPC timeout -- 5751C1 freezes OS when IPV6 Chariot traffic is applied CQ22290: DPC timeout -- Running Chariot IPV6 stress traffic causes OS to lock-up when LSO is disabled CQ22305: DPC timeout -- 5787mA1 cannot complete NDIS6 tester 2c_mini6Performance.wsf test script Note: DPC timeout is an OS issue where the newly introduced DPC watchdog in Windows Vista mistakenly flags the driver 30 seconds timeout at DISPATCH level. MSFT is actively looking into this issue. CQ22282: NDIS6 tester exhibits runtime script error when 2c_mini6RSSSendRecv is executed This appears to be a test kit issue, MSFT is looking into this. It only affects 5755 devices. CQ22299: 5755A1 Receive Side Scaling (RSS) does not work This was caused the "indirection table" set by protocol stacks in the Longhorn (Vista) OS. CQ22468: NDIS 6 LSO for IPv4 Does Not Appear to Work Based on Performance over CPU Utilization Measurements Under investigation. CQ14642: NDIS6 wake on LAN does not work for any sleep states This is an OS issue.